gipity 1.0.68 → 1.0.93

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 (102) hide show
  1. package/README.md +5 -5
  2. package/dist/api.js +2 -3
  3. package/dist/api.js.map +1 -1
  4. package/dist/auth.js +1 -2
  5. package/dist/auth.js.map +1 -1
  6. package/dist/banner.d.ts +6 -0
  7. package/dist/banner.js +162 -0
  8. package/dist/banner.js.map +1 -0
  9. package/dist/colors.d.ts +22 -0
  10. package/dist/colors.js +52 -0
  11. package/dist/colors.js.map +1 -0
  12. package/dist/commands/agent.js +8 -7
  13. package/dist/commands/agent.js.map +1 -1
  14. package/dist/commands/api.js +8 -7
  15. package/dist/commands/api.js.map +1 -1
  16. package/dist/commands/audit.js +4 -3
  17. package/dist/commands/audit.js.map +1 -1
  18. package/dist/commands/browser.js +19 -18
  19. package/dist/commands/browser.js.map +1 -1
  20. package/dist/commands/chat.js +17 -5
  21. package/dist/commands/chat.js.map +1 -1
  22. package/dist/commands/checkpoint.js +5 -4
  23. package/dist/commands/checkpoint.js.map +1 -1
  24. package/dist/commands/claude.d.ts +2 -0
  25. package/dist/commands/claude.js +315 -0
  26. package/dist/commands/claude.js.map +1 -0
  27. package/dist/commands/credits.js +5 -4
  28. package/dist/commands/credits.js.map +1 -1
  29. package/dist/commands/db.js +5 -4
  30. package/dist/commands/db.js.map +1 -1
  31. package/dist/commands/deploy.js +6 -7
  32. package/dist/commands/deploy.js.map +1 -1
  33. package/dist/commands/email.js +3 -2
  34. package/dist/commands/email.js.map +1 -1
  35. package/dist/commands/file.js +7 -5
  36. package/dist/commands/file.js.map +1 -1
  37. package/dist/commands/fn.js +9 -7
  38. package/dist/commands/fn.js.map +1 -1
  39. package/dist/commands/generate.d.ts +2 -0
  40. package/dist/commands/generate.js +184 -0
  41. package/dist/commands/generate.js.map +1 -0
  42. package/dist/commands/init.js +12 -12
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/login.js +7 -7
  45. package/dist/commands/login.js.map +1 -1
  46. package/dist/commands/logs.js +8 -6
  47. package/dist/commands/logs.js.map +1 -1
  48. package/dist/commands/memory.js +7 -6
  49. package/dist/commands/memory.js.map +1 -1
  50. package/dist/commands/project.js +8 -7
  51. package/dist/commands/project.js.map +1 -1
  52. package/dist/commands/push.js +2 -1
  53. package/dist/commands/push.js.map +1 -1
  54. package/dist/commands/rbac.js +4 -3
  55. package/dist/commands/rbac.js.map +1 -1
  56. package/dist/commands/records.js +8 -7
  57. package/dist/commands/records.js.map +1 -1
  58. package/dist/commands/sandbox.js +3 -2
  59. package/dist/commands/sandbox.js.map +1 -1
  60. package/dist/commands/scaffold.js +4 -3
  61. package/dist/commands/scaffold.js.map +1 -1
  62. package/dist/commands/skills.d.ts +2 -0
  63. package/dist/commands/skills.js +60 -0
  64. package/dist/commands/skills.js.map +1 -0
  65. package/dist/commands/start-cc.js +78 -51
  66. package/dist/commands/start-cc.js.map +1 -1
  67. package/dist/commands/status.js +8 -7
  68. package/dist/commands/status.js.map +1 -1
  69. package/dist/commands/sync.js +3 -2
  70. package/dist/commands/sync.js.map +1 -1
  71. package/dist/commands/workflow.js +14 -12
  72. package/dist/commands/workflow.js.map +1 -1
  73. package/dist/config.d.ts +2 -0
  74. package/dist/config.js +8 -0
  75. package/dist/config.js.map +1 -1
  76. package/dist/gip3dw-guide.d.ts +1 -1
  77. package/dist/gip3dw-guide.js +4 -2
  78. package/dist/gip3dw-guide.js.map +1 -1
  79. package/dist/gipcc.js +2 -2
  80. package/dist/gipcc.js.map +1 -1
  81. package/dist/gipccd.js +2 -2
  82. package/dist/gipccd.js.map +1 -1
  83. package/dist/help-skills.d.ts +7 -0
  84. package/dist/help-skills.js +33 -0
  85. package/dist/help-skills.js.map +1 -0
  86. package/dist/index.js +28 -8
  87. package/dist/index.js.map +1 -1
  88. package/dist/platform-overview.d.ts +1 -1
  89. package/dist/platform-overview.js +3 -1
  90. package/dist/platform-overview.js.map +1 -1
  91. package/dist/provider-docs.d.ts +27 -0
  92. package/dist/provider-docs.js +69 -0
  93. package/dist/provider-docs.js.map +1 -0
  94. package/dist/setup.d.ts +1 -1
  95. package/dist/setup.js +63 -49
  96. package/dist/setup.js.map +1 -1
  97. package/dist/sync.js +40 -1
  98. package/dist/sync.js.map +1 -1
  99. package/dist/utils.d.ts +5 -0
  100. package/dist/utils.js +39 -0
  101. package/dist/utils.js.map +1 -1
  102. package/package.json +1 -1
package/dist/gipccd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- // Shortcut: gipccd → gipity start-cc --dangerously-skip-permissions
3
- process.argv = [process.argv[0], process.argv[1], 'start-cc', '--dangerously-skip-permissions', ...process.argv.slice(2)];
2
+ // Shortcut: gipccd → gipity claude --dangerously-skip-permissions
3
+ process.argv = [process.argv[0], process.argv[1], 'claude', '--dangerously-skip-permissions', ...process.argv.slice(2)];
4
4
  await import('./index.js');
5
5
  export {};
6
6
  //# sourceMappingURL=gipccd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gipccd.js","sourceRoot":"","sources":["../src/gipccd.ts"],"names":[],"mappings":";AACA,oEAAoE;AACpE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gCAAgC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1H,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"gipccd.js","sourceRoot":"","sources":["../src/gipccd.ts"],"names":[],"mappings":";AACA,kEAAkE;AAClE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gCAAgC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Maps CLI command names to the skill that should auto-load on --help. */
2
+ export declare const HELP_SKILL_MAP: Record<string, string>;
3
+ /**
4
+ * Fetch a skill by name from the server and print its content.
5
+ * Silent on failure (no auth, no network, no config = just skip).
6
+ */
7
+ export declare function fetchAndPrintSkill(skillName: string): Promise<void>;
@@ -0,0 +1,33 @@
1
+ import { get } from './api.js';
2
+ import { getConfig } from './config.js';
3
+ import { muted } from './colors.js';
4
+ /** Maps CLI command names to the skill that should auto-load on --help. */
5
+ export const HELP_SKILL_MAP = {
6
+ api: 'app-database',
7
+ db: 'database-guide',
8
+ checkpoint: 'checkpoint-guide',
9
+ };
10
+ /**
11
+ * Fetch a skill by name from the server and print its content.
12
+ * Silent on failure (no auth, no network, no config = just skip).
13
+ */
14
+ export async function fetchAndPrintSkill(skillName) {
15
+ try {
16
+ const config = getConfig();
17
+ if (!config)
18
+ return;
19
+ const listRes = await get(`/skills?agent=${config.agentGuid}`);
20
+ const match = listRes.data.find(s => s.name.toLowerCase() === skillName.toLowerCase());
21
+ if (!match)
22
+ return;
23
+ const res = await get(`/skills/${match.guid}?agent=${config.agentGuid}`);
24
+ if (res.data.content) {
25
+ console.log(muted(`\n── Skill: ${skillName} (auto-loaded from server) ──\n`));
26
+ console.log(res.data.content);
27
+ }
28
+ }
29
+ catch {
30
+ // Silent — help still works without the skill
31
+ }
32
+ }
33
+ //# sourceMappingURL=help-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-skills.js","sourceRoot":"","sources":["../src/help-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,GAAG,EAAE,cAAc;IACnB,EAAE,EAAE,gBAAgB;IACpB,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AAKF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAA2B,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAwB,WAAW,KAAK,CAAC,IAAI,UAAU,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,SAAS,iCAAiC,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { Command, Help } from 'commander';
3
3
  import { readFileSync } from 'fs';
4
4
  import { fileURLToPath } from 'url';
5
5
  import { dirname, resolve } from 'path';
6
+ import { setApiBaseOverride } from './config.js';
6
7
  import { loginCommand } from './commands/login.js';
7
8
  import { logoutCommand } from './commands/logout.js';
8
9
  import { initCommand } from './commands/init.js';
@@ -20,7 +21,7 @@ import { agentCommand } from './commands/agent.js';
20
21
  import { workflowCommand } from './commands/workflow.js';
21
22
  import { creditsCommand } from './commands/credits.js';
22
23
  import { fileCommand } from './commands/file.js';
23
- import { startCcCommand } from './commands/start-cc.js';
24
+ import { claudeCommand } from './commands/claude.js';
24
25
  import { scaffoldCommand } from './commands/scaffold.js';
25
26
  import { checkpointCommand } from './commands/checkpoint.js';
26
27
  import { logsCommand } from './commands/logs.js';
@@ -30,11 +31,12 @@ import { fnCommand } from './commands/fn.js';
30
31
  import { rbacCommand } from './commands/rbac.js';
31
32
  import { auditCommand } from './commands/audit.js';
32
33
  import { emailCommand } from './commands/email.js';
34
+ import { generateCommand } from './commands/generate.js';
35
+ import { skillsCommand } from './commands/skills.js';
36
+ import { HELP_SKILL_MAP, fetchAndPrintSkill } from './help-skills.js';
37
+ import { bold, dim, brand } from './colors.js';
33
38
  const __dirname = dirname(fileURLToPath(import.meta.url));
34
39
  const pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8'));
35
- // ── ANSI helpers ────────────────────────────────────────────────────────
36
- const dim = (s) => `\x1b[2m${s}\x1b[22m`;
37
- const bold = (s) => `\x1b[1m${s}\x1b[22m`;
38
40
  // ── Custom help formatting (match Claude Code style) ────────────────────
39
41
  function configureHelp(cmd) {
40
42
  cmd.configureHelp({
@@ -47,20 +49,38 @@ function configureHelp(cmd) {
47
49
  const program = new Command();
48
50
  program
49
51
  .name('gipity')
50
- .description(`${bold('Gipity CLI')} ${dim('—')} cloud infrastructure for every project\n\n ${dim('Hosting, databases, deployment, sandboxed execution, and AI — zero setup.')}`)
51
- .version(pkg.version, '-v, --version');
52
+ .description(`${brand(bold('Gipity CLI'))} ${dim('—')} AI Agent with a Super Computer\n\n ${dim('App hosting, databases, deployment, sandboxed execution, and 90+ AI tools — zero setup.')}`)
53
+ .version(pkg.version, '-v, --version')
54
+ .option('--api-base <url>', 'API base URL (e.g. http://localhost:7200)');
55
+ program.hook('preAction', () => {
56
+ const apiBase = program.opts().apiBase;
57
+ if (apiBase)
58
+ setApiBaseOverride(apiBase);
59
+ });
52
60
  configureHelp(program);
53
61
  // ── Setup commands ──────────────────────────────────────────────────────
54
- const setupGroup = [loginCommand, logoutCommand, initCommand, startCcCommand];
62
+ const setupGroup = [loginCommand, logoutCommand, initCommand, claudeCommand];
55
63
  // ── Project commands ────────────────────────────────────────────────────
56
64
  const projectGroup = [statusCommand, syncCommand, pushCommand, deployCommand, scaffoldCommand, checkpointCommand];
57
65
  // ── Resource commands ───────────────────────────────────────────────────
58
- const resourceGroup = [dbCommand, memoryCommand, fileCommand, sandboxCommand, apiCommand, logsCommand, browserCommand, recordsCommand, fnCommand, rbacCommand, auditCommand, emailCommand];
66
+ const resourceGroup = [dbCommand, memoryCommand, fileCommand, sandboxCommand, apiCommand, logsCommand, browserCommand, recordsCommand, fnCommand, rbacCommand, auditCommand, emailCommand, generateCommand, skillsCommand];
59
67
  // ── Agent commands ──────────────────────────────────────────────────────
60
68
  const agentGroup = [chatCommand, projectCommand, agentCommand, workflowCommand, creditsCommand];
61
69
  for (const cmd of [...setupGroup, ...projectGroup, ...resourceGroup, ...agentGroup]) {
62
70
  configureHelp(cmd);
63
71
  program.addCommand(cmd);
64
72
  }
73
+ // Auto-fetch related skill docs when --help is run on mapped commands
74
+ const argv = process.argv.slice(2);
75
+ const hasHelp = argv.includes('--help') || argv.includes('-h');
76
+ const mappedCmd = hasHelp ? argv.find(a => a in HELP_SKILL_MAP) : undefined;
77
+ if (mappedCmd) {
78
+ const cmdObj = program.commands.find(c => c.name() === mappedCmd);
79
+ if (cmdObj) {
80
+ cmdObj.outputHelp();
81
+ await fetchAndPrintSkill(HELP_SKILL_MAP[mappedCmd]);
82
+ process.exit(0);
83
+ }
84
+ }
65
85
  program.parse();
66
86
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,4 @@
6
6
  */
7
7
  export declare const PLATFORM_SERVICES = "## Platform Services\n\nCapabilities beyond local file editing \u2014 use `gipity chat` (CLI) or the built-in tools (web agent):\n\n- **Image generation**: OpenAI (gpt-image-1, DALL-E 3) and BFL/Flux\n- **Speech / TTS**: ElevenLabs and OpenAI voices (streaming and batch)\n- **Sound effects / Music**: ElevenLabs audio generation\n- **Audio processing**: Transcription, source isolation\n- **Web search**: Brave API\n- **Twitter/X search**: v2 API, last 7 days\n- **Browser automation**: Open URLs, screenshot, click, fill forms, read console\n- **Workflow automation**: Cron-scheduled or webhook-triggered multi-step AI pipelines\n- **Email**: SendGrid transactional email\n- **Google services**: Gmail, Google Calendar integration\n- **External services**: Slack, GitHub, Todoist, Notion via service connectors\n- **Cross-model queries**: Ask GPT-5, Claude, etc. for second opinions\n- **Serverless functions**: JavaScript functions callable via REST";
8
8
  export declare const CLI_COMMANDS = "## CLI Commands\n\n| Command | Purpose |\n|---------|---------|\n| `gipity scaffold [title]` | Create app structure (`--type web` default, or `--type 3d-world` for 3D games) |\n| `gipity deploy [dev\\|prod]` | Deploy and get live URL |\n| `gipity sync [up\\|down\\|check]` | Manual file sync |\n| `gipity db create <name>` | Create a project database |\n| `gipity db query \"SQL\"` | Run SQL on project database |\n| `gipity db list` | List databases |\n| `gipity memory list\\|read\\|write` | Persistent key-value memory |\n| `gipity api list\\|define\\|get` | Manage backend API procedures |\n| `gipity checkpoint list` | List file snapshots |\n| `gipity checkpoint restore <id>` | Restore files to a snapshot (undo) |\n| `gipity logs fn <name>` | View function execution logs (errors, timing) |\n| `gipity browser <url>` | Inspect a URL: console errors, timing, failed resources |\n| `gipity status` | Check project and sync status |\n\nAll commands support `--json` for structured output.";
9
- export declare const DEPLOY_VERIFICATION = "## Deploy Verification\n\nUse the browser tool to verify deploys when it matters \u2014 first deploy, structural changes (new pages, new frameworks, changed imports), or when something might have broken. Skip verification for trivial changes (copy tweaks, style adjustments, config values).\n\nTo verify: `browser action=open url=<deployed-url>` \u2014 waits for async modules, captures console errors automatically. Check output for `[Console errors captured after page load]`. Use `browser action=screenshot` to confirm visual correctness.\n\n**Debugging in production:** Add `console.error()` calls to app code for diagnostics, redeploy, then use `browser action=console` to read the output. Remove debug logging when done.";
9
+ export declare const DEPLOY_VERIFICATION = "## Deploy Verification\n\nUse the browser tool to verify deploys when it matters \u2014 first deploy, structural changes (new pages, new frameworks, changed imports), or when something might have broken. Skip verification for trivial changes (copy tweaks, style adjustments, config values).\n\nTo verify: `browser action=open url=<deployed-url>` \u2014 waits for async modules, captures console errors automatically. Check output for `[Console errors captured after page load]`. Use `browser action=screenshot` to confirm visual correctness.\n\n**Debugging in production:** Add `console.error()` calls to app code for diagnostics, redeploy, then use `browser action=console` to read the output. Remove debug logging when done.\n\n**Screenshots via `gipity chat`**: For 3D games and pages with async rendering (WebGL, canvas, dynamic content), tell the agent to wait a few seconds after opening before capturing so the scene renders. The saved filename may differ from what you requested (collision-free naming). Always check the tool output for the actual saved path.";
@@ -46,5 +46,7 @@ Use the browser tool to verify deploys when it matters — first deploy, structu
46
46
 
47
47
  To verify: \`browser action=open url=<deployed-url>\` — waits for async modules, captures console errors automatically. Check output for \`[Console errors captured after page load]\`. Use \`browser action=screenshot\` to confirm visual correctness.
48
48
 
49
- **Debugging in production:** Add \`console.error()\` calls to app code for diagnostics, redeploy, then use \`browser action=console\` to read the output. Remove debug logging when done.`;
49
+ **Debugging in production:** Add \`console.error()\` calls to app code for diagnostics, redeploy, then use \`browser action=console\` to read the output. Remove debug logging when done.
50
+
51
+ **Screenshots via \`gipity chat\`**: For 3D games and pages with async rendering (WebGL, canvas, dynamic content), tell the agent to wait a few seconds after opening before capturing so the scene renders. The saved filename may differ from what you requested (collision-free naming). Always check the tool output for the actual saved path.`;
50
52
  //# sourceMappingURL=platform-overview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-overview.js","sourceRoot":"","sources":["../src/platform-overview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;mEAgBkC,CAAC;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;uDAkB2B,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;0LAMuJ,CAAC"}
1
+ {"version":3,"file":"platform-overview.js","sourceRoot":"","sources":["../src/platform-overview.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;mEAgBkC,CAAC;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;uDAkB2B,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;oVAQiT,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Provider documentation strings for CLI help text.
3
+ *
4
+ * ⚠️ AUTO-GENERATED — do not edit directly.
5
+ * Source: platform/server/src/config/constants/provider-docs.ts
6
+ * Run `just sync-docs` to refresh from platform.
7
+ */
8
+ export declare const GEMINI_LLM_MODELS_DOC = "gemini-2.5-flash (Gemini 2.5 Flash, $0.15/$0.6 per 1M tok, 1049K ctx), gemini-2.5-pro (Gemini 2.5 Pro, $1.25/$10 per 1M tok, 1049K ctx), gemini-3-pro-preview (Gemini 3 Pro, $2/$12 per 1M tok, 200K ctx)";
9
+ export declare const GEMINI_TTS_VOICES: readonly ["Zephyr", "Puck", "Charon", "Kore", "Fenrir", "Leda", "Orus", "Aoede", "Callirrhoe", "Autonoe", "Enceladus", "Iapetus", "Umbriel", "Algieba", "Despina", "Erinome", "Algenib", "Rasalgethi", "Laomedeia", "Achernar", "Alnilam", "Schedar", "Gacrux", "Pulcherrima", "Achird", "Zubenelgenubi", "Vindemiatrix", "Sadachbia", "Sadaltager", "Sulafat"];
10
+ export declare const GEMINI_TTS_VOICES_DOC = "Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat";
11
+ export declare const GEMINI_TTS_VOICES_SHORT = "Kore, Puck, Zephyr, Charon, Fenrir, Leda, Orus, Aoede, and 22 more";
12
+ export declare const IMAGE_GEMINI_ASPECT_RATIOS = "1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9";
13
+ export declare const IMAGE_GEMINI_SIZES = "512, 1K, 2K, 4K";
14
+ export declare const IMAGE_MODELS_DOC = "openai: gpt-image-1, dall-e-3. bfl: flux-2-pro, flux-2-flex, flux-2-max, flux-dev. gemini: gemini-2.5-flash-image, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview";
15
+ export declare const IMAGE_PROVIDERS_BULLET = "- **OpenAI**: `gpt-image-1, dall-e-3`\n- **BFL/Flux**: `flux-2-pro, flux-2-flex, flux-2-max, flux-dev`\n- **Gemini/Nano Banana**: `gemini-2.5-flash-image, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview`";
16
+ export declare const IMAGE_PROVIDERS_LIST = "openai, bfl, gemini";
17
+ export declare const IMAGE_PROVIDER_DESCRIPTIONS: Record<string, string>;
18
+ export declare const LLM_DEFAULT_MODELS_DOC = "OpenAI: gpt-5-mini (cheapest). Anthropic: claude-haiku-4-5 (cheapest). Gemini: gemini-2.5-flash (cheapest, 1M context)";
19
+ export declare const LLM_PROVIDERS_LIST = "anthropic, openai, gemini";
20
+ export declare const OPENAI_TTS_VOICES_DOC = "alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse";
21
+ export declare const TRANSCRIBE_PROVIDERS_DOC = "elevenlabs (default, Scribe v2), openai (GPT-4o Transcribe), gemini (Gemini 2.5 Flash \u2014 cheapest, multilingual)";
22
+ export declare const TTS_PROVIDERS_LIST = "elevenlabs, openai, gemini";
23
+ export declare const TTS_PROVIDER_DESCRIPTIONS: Record<string, string>;
24
+ export declare const VIDEO_ASPECT_RATIOS = "16:9 (landscape), 9:16 (portrait), 1:1 (square)";
25
+ export declare const VIDEO_MODELS_DOC = "veo-3.1-generate-preview (best quality, ~$0.40/sec), veo-3.1-fast-generate-preview (faster, ~$0.15/sec), veo-3.1-lite-generate-preview (budget, ~$0.07/sec)";
26
+ export declare const VIDEO_MODELS_LIST = "veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview";
27
+ export declare const VIDEO_RESOLUTIONS = "720p, 1080p, 4k";
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Provider documentation strings for CLI help text.
3
+ *
4
+ * ⚠️ AUTO-GENERATED — do not edit directly.
5
+ * Source: platform/server/src/config/constants/provider-docs.ts
6
+ * Run `just sync-docs` to refresh from platform.
7
+ */
8
+ export const GEMINI_LLM_MODELS_DOC = `gemini-2.5-flash (Gemini 2.5 Flash, $0.15/$0.6 per 1M tok, 1049K ctx), gemini-2.5-pro (Gemini 2.5 Pro, $1.25/$10 per 1M tok, 1049K ctx), gemini-3-pro-preview (Gemini 3 Pro, $2/$12 per 1M tok, 200K ctx)`;
9
+ export const GEMINI_TTS_VOICES = [
10
+ 'Zephyr',
11
+ 'Puck',
12
+ 'Charon',
13
+ 'Kore',
14
+ 'Fenrir',
15
+ 'Leda',
16
+ 'Orus',
17
+ 'Aoede',
18
+ 'Callirrhoe',
19
+ 'Autonoe',
20
+ 'Enceladus',
21
+ 'Iapetus',
22
+ 'Umbriel',
23
+ 'Algieba',
24
+ 'Despina',
25
+ 'Erinome',
26
+ 'Algenib',
27
+ 'Rasalgethi',
28
+ 'Laomedeia',
29
+ 'Achernar',
30
+ 'Alnilam',
31
+ 'Schedar',
32
+ 'Gacrux',
33
+ 'Pulcherrima',
34
+ 'Achird',
35
+ 'Zubenelgenubi',
36
+ 'Vindemiatrix',
37
+ 'Sadachbia',
38
+ 'Sadaltager',
39
+ 'Sulafat',
40
+ ];
41
+ export const GEMINI_TTS_VOICES_DOC = `Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat`;
42
+ export const GEMINI_TTS_VOICES_SHORT = `Kore, Puck, Zephyr, Charon, Fenrir, Leda, Orus, Aoede, and 22 more`;
43
+ export const IMAGE_GEMINI_ASPECT_RATIOS = `1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9`;
44
+ export const IMAGE_GEMINI_SIZES = `512, 1K, 2K, 4K`;
45
+ export const IMAGE_MODELS_DOC = `openai: gpt-image-1, dall-e-3. bfl: flux-2-pro, flux-2-flex, flux-2-max, flux-dev. gemini: gemini-2.5-flash-image, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview`;
46
+ export const IMAGE_PROVIDERS_BULLET = `- **OpenAI**: \`gpt-image-1, dall-e-3\`
47
+ - **BFL/Flux**: \`flux-2-pro, flux-2-flex, flux-2-max, flux-dev\`
48
+ - **Gemini/Nano Banana**: \`gemini-2.5-flash-image, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview\``;
49
+ export const IMAGE_PROVIDERS_LIST = `openai, bfl, gemini`;
50
+ export const IMAGE_PROVIDER_DESCRIPTIONS = {
51
+ 'openai': `OpenAI (gpt-image-1, dall-e-3)`,
52
+ 'bfl': `BFL/Flux (flux-2-pro, flux-2-flex, flux-2-max, flux-dev)`,
53
+ 'gemini': `Gemini/Nano Banana (gemini-2.5-flash-image, gemini-3.1-flash-image-preview, gemini-3-pro-image-preview)`,
54
+ };
55
+ export const LLM_DEFAULT_MODELS_DOC = `OpenAI: gpt-5-mini (cheapest). Anthropic: claude-haiku-4-5 (cheapest). Gemini: gemini-2.5-flash (cheapest, 1M context)`;
56
+ export const LLM_PROVIDERS_LIST = `anthropic, openai, gemini`;
57
+ export const OPENAI_TTS_VOICES_DOC = `alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse`;
58
+ export const TRANSCRIBE_PROVIDERS_DOC = `elevenlabs (default, Scribe v2), openai (GPT-4o Transcribe), gemini (Gemini 2.5 Flash — cheapest, multilingual)`;
59
+ export const TTS_PROVIDERS_LIST = `elevenlabs, openai, gemini`;
60
+ export const TTS_PROVIDER_DESCRIPTIONS = {
61
+ 'elevenlabs': `ElevenLabs (many voices — use voice_set list to discover)`,
62
+ 'openai': `OpenAI (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse)`,
63
+ 'gemini': `Gemini (30 voices: Kore, Puck, Zephyr, Charon, Fenrir, Leda, Orus, Aoede, and 22 more). Multi-speaker (up to 2) and 60+ languages`,
64
+ };
65
+ export const VIDEO_ASPECT_RATIOS = `16:9 (landscape), 9:16 (portrait), 1:1 (square)`;
66
+ export const VIDEO_MODELS_DOC = `veo-3.1-generate-preview (best quality, ~$0.40/sec), veo-3.1-fast-generate-preview (faster, ~$0.15/sec), veo-3.1-lite-generate-preview (budget, ~$0.07/sec)`;
67
+ export const VIDEO_MODELS_LIST = `veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-3.1-lite-generate-preview`;
68
+ export const VIDEO_RESOLUTIONS = `720p, 1080p, 4k`;
69
+ //# sourceMappingURL=provider-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-docs.js","sourceRoot":"","sources":["../src/provider-docs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2MAA2M,CAAC;AAEjP,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACZ,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,eAAe;IACf,cAAc;IACd,WAAW;IACX,YAAY;IACZ,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,0RAA0R,CAAC;AAEhU,MAAM,CAAC,MAAM,uBAAuB,GAAG,oEAAoE,CAAC;AAE5G,MAAM,CAAC,MAAM,0BAA0B,GAAG,qDAAqD,CAAC;AAEhG,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,+KAA+K,CAAC;AAEhN,MAAM,CAAC,MAAM,sBAAsB,GAAG;;iHAE2E,CAAC;AAElH,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,QAAQ,EAAE,gCAAgC;IAC1C,KAAK,EAAE,0DAA0D;IACjE,QAAQ,EAAE,yGAAyG;CACpH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,wHAAwH,CAAC;AAE/J,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,0EAA0E,CAAC;AAEhH,MAAM,CAAC,MAAM,wBAAwB,GAAG,iHAAiH,CAAC;AAE1J,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,YAAY,EAAE,2DAA2D;IACzE,QAAQ,EAAE,mFAAmF;IAC7F,QAAQ,EAAE,mIAAmI;CAC9I,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iDAAiD,CAAC;AAErF,MAAM,CAAC,MAAM,gBAAgB,GAAG,6JAA6J,CAAC;AAE9L,MAAM,CAAC,MAAM,iBAAiB,GAAG,wFAAwF,CAAC;AAE1H,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC"}
package/dist/setup.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const SKILLS_CONTENT = "# Gipity Integration\n\nMost AI tools give you a chatbot. We gave ours a computer. Gipity is an AI agent with 90+ tools and a full cloud platform \u2014 app hosting, databases, file storage, deployment, workflows, code execution, and more. Use it standalone or plug it into Claude Code to give your local agent cloud superpowers.\n\n**You are the developer.** Write HTML, JS, CSS, Python \u2014 whatever the project needs \u2014 directly in this directory. Files auto-sync to Gipity's cloud via hooks. There is no local runtime; do NOT run `npm install`, `npm start`, `node`, or `python` locally.\n\n## Workflow\n\n1. Write and edit files normally (auto-pushed to Gipity on every save)\n2. `gipity deploy dev` \u2192 get a live URL instantly\n3. `curl <url>` or WebFetch to verify\n4. `gipity deploy prod` when ready\n\n## CLI Commands\n\n| Command | Purpose |\n|---------|---------|\n| `gipity scaffold [title]` | Create app structure (`--type web` default, or `--type 3d-world` for 3D games) |\n| `gipity deploy [dev\\|prod]` | Deploy and get live URL |\n| `gipity sync [up\\|down\\|check]` | Manual file sync |\n| `gipity db create <name>` | Create a project database |\n| `gipity db query \"SQL\"` | Run SQL on project database |\n| `gipity db list` | List databases |\n| `gipity memory list\\|read\\|write` | Persistent key-value memory |\n| `gipity api list\\|define\\|get` | Manage backend API procedures |\n| `gipity checkpoint list` | List file snapshots |\n| `gipity checkpoint restore <id>` | Restore files to a snapshot (undo) |\n| `gipity logs fn <name>` | View function execution logs (errors, timing) |\n| `gipity browser <url>` | Inspect a URL: console errors, timing, failed resources |\n| `gipity status` | Check project and sync status |\n\nAll commands support `--json` for structured output.\n\n## Processing & Code Execution\n\nDo NOT install tools or run heavy processing locally. Gipity has a cloud sandbox accessible via `gipity chat` with extensive tools pre-installed:\n\n- **Image/video**: ImageMagick, FFmpeg, Graphviz, gnuplot, optipng, gifsicle, potrace, webp, exiftool, mediainfo\n- **Documents**: LibreOffice (headless), pandoc, wkhtmltopdf, ghostscript, qpdf, poppler-utils\n- **Python**: pandas, numpy, matplotlib, scipy, sympy, pillow, openpyxl, python-docx, python-pptx, reportlab, cairosvg, seaborn, qrcode, requests, bs4, Jinja2, faker\n- **Audio**: sox, FFmpeg\n- **Data**: jq, sqlite3, csvkit, datamash, miller, xmlstarlet\n- **Compile**: GCC/G++, mingw-w64 (Windows cross-compile)\n\nUse `gipity chat` to have the platform do it. Example: `gipity chat \"resize all images in src/images to 800px wide\"`\n\n## File Operations\n\nAll file creation and editing should happen locally \u2014 hooks auto-push changes to Gipity. Do NOT use `gipity chat` to create or edit files. Use `gipity sync` if files get out of sync. Use `gipity file ls` and `gipity file cat` to browse remote files without syncing.\n\n## Platform Services\n\nCapabilities beyond local file editing \u2014 use `gipity chat` (CLI) or the built-in tools (web agent):\n\n- **Image generation**: OpenAI (gpt-image-1, DALL-E 3) and BFL/Flux\n- **Speech / TTS**: ElevenLabs and OpenAI voices (streaming and batch)\n- **Sound effects / Music**: ElevenLabs audio generation\n- **Audio processing**: Transcription, source isolation\n- **Web search**: Brave API\n- **Twitter/X search**: v2 API, last 7 days\n- **Browser automation**: Open URLs, screenshot, click, fill forms, read console\n- **Workflow automation**: Cron-scheduled or webhook-triggered multi-step AI pipelines\n- **Email**: SendGrid transactional email\n- **Google services**: Gmail, Google Calendar integration\n- **External services**: Slack, GitHub, Todoist, Notion via service connectors\n- **Cross-model queries**: Ask GPT-5, Claude, etc. for second opinions\n- **Serverless functions**: JavaScript functions callable via REST\n\nUse `gipity chat` to access these from the CLI. Example: `gipity chat \"generate a hero image for the landing page\"`\n\n## 3D World\n\n**3D World** is the 3D multiplayer game template on Gipity. All 3D World games share the same visual style, physics engine (Rapier), and multiplayer backend (Colyseus). The template is locked \u2014 creators only write game logic.\n\nScaffold a 3D World project with `app_scaffold type=3d-world` (web agent) or `gipity scaffold --type 3d-world` (CLI). This creates a playable 3D game with Three.js + Rapier physics + Colyseus multiplayer. The `src/template/` directory is READ-ONLY (locked engine). Editable files: `config.js` (metadata), `settings.js` (tunable values), `strings.js` (display text), `objects.js` (entity factories), `game.js` (orchestrator).\n\n**Genres:** obby/parkour, tycoon, simulator, PvP combat, shooter, tower defense, horror, racing, RPG, social.\n\nRegular game requests (\"make a wordle\", \"build a quiz\") should use the standard web scaffold \u2014 they don't need the 3D template.\n\n## File Structure\n- **Use src/ convention**: All app files live under `src/` \u2014 `src/index.html`, `src/css/styles.css`, `src/js/main.js`, `src/images/`\n- **Separate files**: Split into `index.html`, `styles.css`, and `app.js` (or `main.js`). Never inline large blocks of CSS or JS in HTML.\n- If the app grows, organize into folders: `src/css/`, `src/js/`, `src/assets/`, `src/sounds/`, `src/images/`, etc.\n- **Use subfolders \u2014 don't flatten**: Reference assets from their folders (e.g. `sounds/click.ogg`, `images/logo.png`). Never copy files to the root just for convenience \u2014 deployed apps serve the full directory tree.\n- Keep `index.html` clean \u2014 it should be structure/markup, not behavior or styling\n\n## HTML\n- Use semantic elements: `<header>`, `<nav>`, `<main>`, `<section>`, `<footer>`, `<article>`\n- Always include `<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">`\n- Add a proper `<title>` and favicon link\n- Unless the user specifies a different CSS framework, include Water.css for automatic styling: `<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/water.css@2/out/water.css\">`\n- Water.css styles semantic HTML automatically (buttons, tables, forms, nav, cards) \u2014 no classes needed. It supports dark/light themes automatically. Add custom CSS on top for app-specific tweaks.\n\n## CSS\n- When using Water.css, it handles base styling, resets, and typography \u2014 don't duplicate what it provides\n- Water.css exposes CSS variables for theming \u2014 override them in `:root` for custom colors/fonts\n- Use CSS custom properties (variables) for app-specific colors, spacing, and fonts\n- Add smooth transitions on interactive elements (buttons, links, hover states)\n\n## JavaScript\n- Use `const`/`let`, arrow functions, template literals, and modern ES6+ syntax\n- Wait for DOM: wrap in `DOMContentLoaded` or place script at end of body\n- Keep functions small and focused\n- Use `addEventListener` \u2014 never inline `onclick` attributes in HTML\n\n## Code Quality\n- **Keep files under ~400 lines** unless the content genuinely requires it (e.g. a long data table, template string, or config object). When logic grows beyond that, split into focused modules (e.g. `utils.js`, `api.js`, `ui.js`).\n- **Don't duplicate code.** If the same logic appears twice, extract it into a shared function. Before writing a new helper, check if one already exists or could be extended.\n- **One responsibility per file.** A file that handles both UI rendering and API calls should be split.\n- **Name things clearly.** Functions, variables, and files should describe what they do \u2014 no `temp`, `data2`, `stuff.js`.\n- **Prefer simple, readable code** over clever code that hides bugs. Flat over nested \u2014 use early returns, avoid deep nesting.\n- **Centralize configuration.** App settings, API URLs, feature flags, and magic numbers should live in a dedicated config file (e.g. `config.js` or `constants.js`), not scattered across the codebase.\n- **Write utility functions** for repeated operations (formatting, validation, API calls). Keep them in a `utils.js` or `helpers.js` file. Small, pure functions are easy to test and reuse.\n\n## Testing\n- **Write tests for new functions** \u2014 especially utility/helper functions. Cover the happy path and edge cases (empty input, null, boundary values).\n- **Don't mock unless absolutely required.** Tests should exercise real code paths. Only mock external paid services (APIs that cost money per call).\n- **E2E tests should hit real infrastructure** (real API, real DB) \u2014 just clean up test data when done.\n- **Test file naming**: `*.test.js` for unit tests, `*.e2e.test.js` for end-to-end tests.\n\n## Deployment\n- **src/ detection**: If a `src/` directory exists, only `src/` is deployed. Otherwise the full project root is deployed.\n\n## Authentication\n\nLogin is a two-step process that works non-interactively:\n\n1. `gipity login --email user@example.com` \u2192 sends a 6-digit code to that email\n2. Ask the user for the code, then: `gipity login --email user@example.com --code 123456`\n\nCheck auth status: `gipity status`\nLog out: `gipity logout`\n\n## Sync Behavior\n\n- **Auto-push**: Files push to Gipity after every Write/Edit (hook)\n- **Auto-pull**: Remote changes pull before each prompt (hook)\n- **Manual**: `gipity sync check` to see pending changes\n- **Deletes are safe**: All file deletions are soft deletes. Use `gipity checkpoint list` and `gipity checkpoint restore <id>` to undo any delete or revert to a previous state.\n\n## Debugging\n\n- `gipity browser <url>` \u2014 open a deployed URL and get JS console errors, failed resources (404s), and page load timing. Useful when something looks broken after deploy.\n- `gipity logs fn <name>` \u2014 view recent function execution logs with error messages and timing. Use when API calls return errors.\n- `gipity sync check` \u2014 verify local and remote files are in sync if things seem stale.\n- `gipity checkpoint restore <id>` \u2014 undo a bad change by restoring to a previous file snapshot.\n";
1
+ export declare const SKILLS_CONTENT = "# Gipity Integration\n\nGipity is an AI agent platform with 90+ tools and a full cloud platform. Use it standalone or plug it into Claude Code to give your local agent cloud superpowers.\n\n**You are the developer.** Write files in this directory. They auto-sync to Gipity's cloud via hooks. There is no local runtime; do NOT run `npm install`, `npm start`, `node`, or `python` locally.\n\n## Workflow\n\n1. Write and edit files normally (auto-pushed to Gipity on every save)\n2. `gipity deploy dev` \u2192 live URL instantly\n3. `gipity deploy prod` when ready\n\n## CLI Commands\n\n| Command | Purpose |\n|---------|---------|\n| `gipity scaffold [title]` | Create app structure (`--type web`, `--type 2d-game`, or `--type 3d-world`) |\n| `gipity deploy [dev\\|prod]` | Deploy and get live URL |\n| `gipity sync [up\\|down\\|check]` | Manual file sync |\n| `gipity db create <name>` | Create a project database |\n| `gipity db query \"SQL\"` | Run SQL on project database |\n| `gipity api list\\|define\\|get` | Manage backend API procedures |\n| `gipity memory list\\|read\\|write` | Persistent key-value memory |\n| `gipity checkpoint list\\|restore` | File snapshots (undo) |\n| `gipity browser <url>` | Inspect URL: console errors, timing, resources |\n| `gipity logs fn <name>` | View function execution logs |\n| `gipity sandbox <lang> \"code\"` | Execute code in cloud sandbox |\n| `gipity chat <message>` | Send a task to the Gipity agent |\n| `gipity skills list` | List all available skill docs |\n| `gipity skills read <name>` | Read detailed docs on a topic |\n| `gipity status` | Check project and auth status |\n\nAll commands support `--json` for structured output. Use `--help` on any command for details (auto-fetches relevant skill docs from the server).\n\n## Platform Capabilities\n\n- **App hosting**: Deploy to dev/prod URLs on Gipity CDN\n- **Databases**: Per-project MySQL databases with SQL access\n- **API procedures**: Define named SQL procedures callable via REST from deployed apps\n- **Serverless functions**: JavaScript functions callable via REST\n- **Multiplayer**: Colyseus WebSocket rooms (relay and state-synced)\n- **Image generation**: OpenAI (gpt-image-1, DALL-E 3) and BFL/Flux\n- **Speech / TTS**: ElevenLabs and OpenAI voices\n- **Audio/video processing**: FFmpeg, sox, transcription, source isolation\n- **Web search**: Brave API\n- **Browser automation**: Open URLs, screenshot, click, fill forms, console\n- **Workflows**: Cron or webhook-triggered multi-step AI pipelines\n- **Email**: SendGrid transactional email\n- **Cloud sandbox**: Python, Node.js, Bash with 50+ pre-installed tools\n- **Cross-model queries**: Ask GPT-5, Claude, etc. for second opinions\n\n## Detailed Documentation\n\nRun `gipity skills list` to see all available skill docs. Run `gipity skills read <name>` to read one. Key skills:\n\n- **web-app-basics** \u2014 coding guidelines, file structure, HTML/CSS/JS patterns\n- **app-database** \u2014 backend API procedures (create DB \u2192 define procedures \u2192 call from app)\n- **app-auth** \u2014 user authentication (Sign in with Gipity)\n- **app-realtime** \u2014 multiplayer rooms (Colyseus WebSocket)\n- **3d-world** \u2014 3D multiplayer game template (Three.js + Rapier + Colyseus)\n- **2d-game** \u2014 2D game template (Phaser 3)\n- **sandbox-tools** \u2014 cloud sandbox capabilities and pre-installed tools\n- **database-guide** \u2014 SQL patterns and database management\n\nLoad the relevant skill BEFORE starting a task \u2014 they contain the correct API patterns, code examples, and common mistakes.\n\n## File Operations\n\nAll file creation and editing should happen locally \u2014 hooks auto-push changes to Gipity. Do NOT use `gipity chat` to create or edit files. Use `gipity sync` if files get out of sync.\n\n## Authentication\n\n1. `gipity login --email user@example.com` \u2192 sends a 6-digit code\n2. `gipity login --email user@example.com --code 123456`\n\n## Sync Behavior\n\n- **Auto-push**: Files push to Gipity after every Write/Edit (hook)\n- **Auto-pull**: Remote changes pull before each prompt (hook)\n- **Deletes are safe**: Use `gipity checkpoint restore <id>` to undo\n";
2
2
  export declare const HOOKS_SETTINGS: {
3
3
  hooks: {
4
4
  PostToolUse: {
package/dist/setup.js CHANGED
@@ -1,74 +1,88 @@
1
1
  /**
2
- * Shared project setup helpers used by both `init` and `start-cc`.
2
+ * Shared project setup helpers used by both `init` and `claude`.
3
3
  */
4
4
  import { resolve, join } from 'path';
5
5
  import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
6
- import { CODING_GUIDELINES } from './coding-guidelines.js';
7
- import { GIP_3DW_GUIDE } from './gip3dw-guide.js';
8
- import { CLI_COMMANDS, PLATFORM_SERVICES } from './platform-overview.js';
9
6
  export const SKILLS_CONTENT = `# Gipity Integration
10
7
 
11
- Most AI tools give you a chatbot. We gave ours a computer. Gipity is an AI agent with 90+ tools and a full cloud platform — app hosting, databases, file storage, deployment, workflows, code execution, and more. Use it standalone or plug it into Claude Code to give your local agent cloud superpowers.
8
+ Gipity is an AI agent platform with 90+ tools and a full cloud platform. Use it standalone or plug it into Claude Code to give your local agent cloud superpowers.
12
9
 
13
- **You are the developer.** Write HTML, JS, CSS, Python — whatever the project needs — directly in this directory. Files auto-sync to Gipity's cloud via hooks. There is no local runtime; do NOT run \`npm install\`, \`npm start\`, \`node\`, or \`python\` locally.
10
+ **You are the developer.** Write files in this directory. They auto-sync to Gipity's cloud via hooks. There is no local runtime; do NOT run \`npm install\`, \`npm start\`, \`node\`, or \`python\` locally.
14
11
 
15
12
  ## Workflow
16
13
 
17
14
  1. Write and edit files normally (auto-pushed to Gipity on every save)
18
- 2. \`gipity deploy dev\` → get a live URL instantly
19
- 3. \`curl <url>\` or WebFetch to verify
20
- 4. \`gipity deploy prod\` when ready
21
-
22
- ${CLI_COMMANDS}
23
-
24
- ## Processing & Code Execution
25
-
26
- Do NOT install tools or run heavy processing locally. Gipity has a cloud sandbox accessible via \`gipity chat\` with extensive tools pre-installed:
27
-
28
- - **Image/video**: ImageMagick, FFmpeg, Graphviz, gnuplot, optipng, gifsicle, potrace, webp, exiftool, mediainfo
29
- - **Documents**: LibreOffice (headless), pandoc, wkhtmltopdf, ghostscript, qpdf, poppler-utils
30
- - **Python**: pandas, numpy, matplotlib, scipy, sympy, pillow, openpyxl, python-docx, python-pptx, reportlab, cairosvg, seaborn, qrcode, requests, bs4, Jinja2, faker
31
- - **Audio**: sox, FFmpeg
32
- - **Data**: jq, sqlite3, csvkit, datamash, miller, xmlstarlet
33
- - **Compile**: GCC/G++, mingw-w64 (Windows cross-compile)
34
-
35
- Use \`gipity chat\` to have the platform do it. Example: \`gipity chat "resize all images in src/images to 800px wide"\`
15
+ 2. \`gipity deploy dev\` → live URL instantly
16
+ 3. \`gipity deploy prod\` when ready
17
+
18
+ ## CLI Commands
19
+
20
+ | Command | Purpose |
21
+ |---------|---------|
22
+ | \`gipity scaffold [title]\` | Create app structure (\`--type web\`, \`--type 2d-game\`, or \`--type 3d-world\`) |
23
+ | \`gipity deploy [dev\\|prod]\` | Deploy and get live URL |
24
+ | \`gipity sync [up\\|down\\|check]\` | Manual file sync |
25
+ | \`gipity db create <name>\` | Create a project database |
26
+ | \`gipity db query "SQL"\` | Run SQL on project database |
27
+ | \`gipity api list\\|define\\|get\` | Manage backend API procedures |
28
+ | \`gipity memory list\\|read\\|write\` | Persistent key-value memory |
29
+ | \`gipity checkpoint list\\|restore\` | File snapshots (undo) |
30
+ | \`gipity browser <url>\` | Inspect URL: console errors, timing, resources |
31
+ | \`gipity logs fn <name>\` | View function execution logs |
32
+ | \`gipity sandbox <lang> "code"\` | Execute code in cloud sandbox |
33
+ | \`gipity chat <message>\` | Send a task to the Gipity agent |
34
+ | \`gipity skills list\` | List all available skill docs |
35
+ | \`gipity skills read <name>\` | Read detailed docs on a topic |
36
+ | \`gipity status\` | Check project and auth status |
37
+
38
+ All commands support \`--json\` for structured output. Use \`--help\` on any command for details (auto-fetches relevant skill docs from the server).
39
+
40
+ ## Platform Capabilities
41
+
42
+ - **App hosting**: Deploy to dev/prod URLs on Gipity CDN
43
+ - **Databases**: Per-project MySQL databases with SQL access
44
+ - **API procedures**: Define named SQL procedures callable via REST from deployed apps
45
+ - **Serverless functions**: JavaScript functions callable via REST
46
+ - **Multiplayer**: Colyseus WebSocket rooms (relay and state-synced)
47
+ - **Image generation**: OpenAI (gpt-image-1, DALL-E 3) and BFL/Flux
48
+ - **Speech / TTS**: ElevenLabs and OpenAI voices
49
+ - **Audio/video processing**: FFmpeg, sox, transcription, source isolation
50
+ - **Web search**: Brave API
51
+ - **Browser automation**: Open URLs, screenshot, click, fill forms, console
52
+ - **Workflows**: Cron or webhook-triggered multi-step AI pipelines
53
+ - **Email**: SendGrid transactional email
54
+ - **Cloud sandbox**: Python, Node.js, Bash with 50+ pre-installed tools
55
+ - **Cross-model queries**: Ask GPT-5, Claude, etc. for second opinions
56
+
57
+ ## Detailed Documentation
58
+
59
+ Run \`gipity skills list\` to see all available skill docs. Run \`gipity skills read <name>\` to read one. Key skills:
60
+
61
+ - **web-app-basics** — coding guidelines, file structure, HTML/CSS/JS patterns
62
+ - **app-database** — backend API procedures (create DB → define procedures → call from app)
63
+ - **app-auth** — user authentication (Sign in with Gipity)
64
+ - **app-realtime** — multiplayer rooms (Colyseus WebSocket)
65
+ - **3d-world** — 3D multiplayer game template (Three.js + Rapier + Colyseus)
66
+ - **2d-game** — 2D game template (Phaser 3)
67
+ - **sandbox-tools** — cloud sandbox capabilities and pre-installed tools
68
+ - **database-guide** — SQL patterns and database management
69
+
70
+ Load the relevant skill BEFORE starting a task — they contain the correct API patterns, code examples, and common mistakes.
36
71
 
37
72
  ## File Operations
38
73
 
39
- All file creation and editing should happen locally — hooks auto-push changes to Gipity. Do NOT use \`gipity chat\` to create or edit files. Use \`gipity sync\` if files get out of sync. Use \`gipity file ls\` and \`gipity file cat\` to browse remote files without syncing.
40
-
41
- ${PLATFORM_SERVICES}
42
-
43
- Use \`gipity chat\` to access these from the CLI. Example: \`gipity chat "generate a hero image for the landing page"\`
44
-
45
- ${GIP_3DW_GUIDE}
46
-
47
- ${CODING_GUIDELINES}
74
+ All file creation and editing should happen locally — hooks auto-push changes to Gipity. Do NOT use \`gipity chat\` to create or edit files. Use \`gipity sync\` if files get out of sync.
48
75
 
49
76
  ## Authentication
50
77
 
51
- Login is a two-step process that works non-interactively:
52
-
53
- 1. \`gipity login --email user@example.com\` → sends a 6-digit code to that email
54
- 2. Ask the user for the code, then: \`gipity login --email user@example.com --code 123456\`
55
-
56
- Check auth status: \`gipity status\`
57
- Log out: \`gipity logout\`
78
+ 1. \`gipity login --email user@example.com\` sends a 6-digit code
79
+ 2. \`gipity login --email user@example.com --code 123456\`
58
80
 
59
81
  ## Sync Behavior
60
82
 
61
83
  - **Auto-push**: Files push to Gipity after every Write/Edit (hook)
62
84
  - **Auto-pull**: Remote changes pull before each prompt (hook)
63
- - **Manual**: \`gipity sync check\` to see pending changes
64
- - **Deletes are safe**: All file deletions are soft deletes. Use \`gipity checkpoint list\` and \`gipity checkpoint restore <id>\` to undo any delete or revert to a previous state.
65
-
66
- ## Debugging
67
-
68
- - \`gipity browser <url>\` — open a deployed URL and get JS console errors, failed resources (404s), and page load timing. Useful when something looks broken after deploy.
69
- - \`gipity logs fn <name>\` — view recent function execution logs with error messages and timing. Use when API calls return errors.
70
- - \`gipity sync check\` — verify local and remote files are in sync if things seem stale.
71
- - \`gipity checkpoint restore <id>\` — undo a bad change by restoring to a previous file snapshot.
85
+ - **Deletes are safe**: Use \`gipity checkpoint restore <id>\` to undo
72
86
  `;
73
87
  // Cross-platform hooks using node -e (no bash/jq dependency)
74
88
  export const HOOKS_SETTINGS = {
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/dist/sync.js CHANGED
@@ -1,4 +1,4 @@
1
- import { readFileSync, writeFileSync, mkdirSync, existsSync, statSync, unlinkSync, readdirSync } from 'fs';
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, statSync, unlinkSync, readdirSync, rmdirSync } from 'fs';
2
2
  import { join, relative, dirname } from 'path';
3
3
  import { get, put, del, download } from './api.js';
4
4
  import { requireConfig, shouldIgnore, getConfigPath } from './config.js';
@@ -209,6 +209,45 @@ export async function syncDown(opts = {}) {
209
209
  writeFileSync(fullPath, bytes);
210
210
  pulled++;
211
211
  }
212
+ // Delete local directories that no longer exist on the remote (deepest first)
213
+ if (executeDeletions) {
214
+ const remoteDirSet = new Set(remoteFiles.filter(f => f.type === 'dir').map(f => f.path));
215
+ const localDirs = [];
216
+ function collectDirs(dir) {
217
+ let entries;
218
+ try {
219
+ entries = readdirSync(dir, { withFileTypes: true });
220
+ }
221
+ catch {
222
+ return;
223
+ }
224
+ for (const entry of entries) {
225
+ if (!entry.isDirectory())
226
+ continue;
227
+ const fullPath = join(dir, entry.name);
228
+ const relPath = relative(root, fullPath).replace(/\\/g, '/');
229
+ if (shouldIgnore(relPath, config.ignore))
230
+ continue;
231
+ localDirs.push(relPath);
232
+ collectDirs(fullPath);
233
+ }
234
+ }
235
+ collectDirs(root);
236
+ // Sort deepest first so children are deleted before parents
237
+ localDirs.sort((a, b) => b.split('/').length - a.split('/').length);
238
+ for (const dirPath of localDirs) {
239
+ if (!remoteDirSet.has(dirPath)) {
240
+ const fullPath = join(root, dirPath);
241
+ try {
242
+ rmdirSync(fullPath); // only succeeds if empty
243
+ deleted++;
244
+ }
245
+ catch {
246
+ // not empty or already gone — skip
247
+ }
248
+ }
249
+ }
250
+ }
212
251
  // Update sync state
213
252
  const updatedLocal = walkLocal(root, root, config.ignore);
214
253
  const stateFiles = {};
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}