gipity 1.0.339 → 1.0.355
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/README.md +4 -4
- package/dist/__tests__/cli-cmd-job.test.d.ts +1 -0
- package/dist/__tests__/cli-cmd-job.test.js +204 -0
- package/dist/__tests__/cli-cmd-job.test.js.map +1 -0
- package/dist/__tests__/cli-cmd-page.test.d.ts +1 -0
- package/dist/__tests__/cli-cmd-page.test.js +90 -0
- package/dist/__tests__/cli-cmd-page.test.js.map +1 -0
- package/dist/__tests__/cli-cmd-workflow.test.js +2 -2
- package/dist/__tests__/cli-cmd-workflow.test.js.map +1 -1
- package/dist/__tests__/flag-aliases.test.js +20 -0
- package/dist/__tests__/flag-aliases.test.js.map +1 -1
- package/dist/__tests__/template-vars.test.d.ts +1 -0
- package/dist/__tests__/template-vars.test.js +119 -0
- package/dist/__tests__/template-vars.test.js.map +1 -0
- package/dist/adopt-cwd.js +1 -0
- package/dist/adopt-cwd.js.map +1 -1
- package/dist/api.d.ts +6 -0
- package/dist/api.js +11 -0
- package/dist/api.js.map +1 -1
- package/dist/commands/add.js +139 -12
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/credits.js +21 -0
- package/dist/commands/credits.js.map +1 -1
- package/dist/commands/job.d.ts +2 -0
- package/dist/commands/job.js +251 -0
- package/dist/commands/job.js.map +1 -0
- package/dist/commands/logs.js +79 -0
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/page-eval.d.ts +2 -0
- package/dist/commands/page-eval.js +31 -0
- package/dist/commands/page-eval.js.map +1 -0
- package/dist/commands/page-inspect.js +91 -62
- package/dist/commands/page-inspect.js.map +1 -1
- package/dist/commands/page-screenshot.js +1 -1
- package/dist/commands/page-screenshot.js.map +1 -1
- package/dist/commands/page.d.ts +2 -0
- package/dist/commands/page.js +18 -0
- package/dist/commands/page.js.map +1 -0
- package/dist/commands/project.js +1 -0
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/workflow.js +63 -16
- package/dist/commands/workflow.js.map +1 -1
- package/dist/flag-aliases.d.ts +7 -2
- package/dist/flag-aliases.js +41 -2
- package/dist/flag-aliases.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/knowledge.d.ts +3 -3
- package/dist/knowledge.js +13 -10
- package/dist/knowledge.js.map +1 -1
- package/dist/project-setup.d.ts +3 -0
- package/dist/project-setup.js +24 -0
- package/dist/project-setup.js.map +1 -1
- package/dist/prompts.d.ts +6 -6
- package/dist/prompts.js +6 -6
- package/dist/prompts.js.map +1 -1
- package/dist/setup.js +1 -1
- package/dist/setup.js.map +1 -1
- package/dist/template-vars.d.ts +32 -0
- package/dist/template-vars.js +156 -0
- package/dist/template-vars.js.map +1 -0
- package/package.json +3 -3
|
@@ -3,10 +3,7 @@ import { get, post, put, del } from '../api.js';
|
|
|
3
3
|
import { requireConfig } from '../config.js';
|
|
4
4
|
import { success, error as clrError, muted, bold } from '../colors.js';
|
|
5
5
|
import { run, printList, printResult } from '../helpers/index.js';
|
|
6
|
-
|
|
7
|
-
.description('Manage workflows')
|
|
8
|
-
.option('--json', 'Output as JSON')
|
|
9
|
-
.action((opts) => run('Workflow', async () => {
|
|
6
|
+
async function listWorkflows(opts) {
|
|
10
7
|
const res = await get('/workflows');
|
|
11
8
|
if (opts.json) {
|
|
12
9
|
console.log(JSON.stringify(res));
|
|
@@ -23,7 +20,16 @@ export const workflowCommand = new Command('workflow')
|
|
|
23
20
|
const line = `${bold(w.name)} [${statusText}] ${muted(w.trigger_type)}${cron}${proj}`;
|
|
24
21
|
return w.description ? `${line}\n ${muted(w.description)}` : line;
|
|
25
22
|
});
|
|
26
|
-
}
|
|
23
|
+
}
|
|
24
|
+
export const workflowCommand = new Command('workflow')
|
|
25
|
+
.description('Manage workflows')
|
|
26
|
+
.option('--json', 'Output as JSON')
|
|
27
|
+
.action((opts) => run('Workflow', () => listWorkflows(opts)));
|
|
28
|
+
workflowCommand
|
|
29
|
+
.command('list')
|
|
30
|
+
.description('List workflows')
|
|
31
|
+
.option('--json', 'Output as JSON')
|
|
32
|
+
.action((opts) => run('List', () => listWorkflows(opts)));
|
|
27
33
|
workflowCommand
|
|
28
34
|
.command('info <name>')
|
|
29
35
|
.description('Show workflow details')
|
|
@@ -71,7 +77,9 @@ workflowCommand
|
|
|
71
77
|
? `${((new Date(r.completed_at).getTime() - new Date(r.started_at).getTime()) / 1000).toFixed(1)}s`
|
|
72
78
|
: 'running';
|
|
73
79
|
const statusColor = r.status === 'completed' ? success : r.status === 'failed' ? clrError : muted;
|
|
74
|
-
|
|
80
|
+
const line = `${muted(r.short_guid)} ${statusColor(r.status)} ${dur} ${r.total_tokens} tokens ${muted(new Date(r.started_at).toLocaleString())}`;
|
|
81
|
+
// Surface why a run failed inline so you don't have to hit the REST API.
|
|
82
|
+
return r.error_message ? `${line}\n ${clrError(r.error_message)}` : line;
|
|
75
83
|
});
|
|
76
84
|
}));
|
|
77
85
|
workflowCommand
|
|
@@ -80,8 +88,12 @@ workflowCommand
|
|
|
80
88
|
.option('--json', 'Output as JSON')
|
|
81
89
|
.action((name, opts) => run('Enable', async () => {
|
|
82
90
|
const wf = await resolveWorkflow(name);
|
|
83
|
-
await put(`/workflows/${wf.short_guid}`, { is_active: true });
|
|
84
|
-
|
|
91
|
+
const res = await put(`/workflows/${wf.short_guid}`, { is_active: true });
|
|
92
|
+
if (!res.data?.is_active) {
|
|
93
|
+
console.error(clrError(`Workflow "${wf.name}" is still inactive after enable — not enabled.`));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
printResult(`Enabled "${wf.name}".`, opts, { enabled: wf.name, is_active: true });
|
|
85
97
|
}));
|
|
86
98
|
workflowCommand
|
|
87
99
|
.command('disable <name>')
|
|
@@ -89,8 +101,12 @@ workflowCommand
|
|
|
89
101
|
.option('--json', 'Output as JSON')
|
|
90
102
|
.action((name, opts) => run('Disable', async () => {
|
|
91
103
|
const wf = await resolveWorkflow(name);
|
|
92
|
-
await put(`/workflows/${wf.short_guid}`, { is_active: false });
|
|
93
|
-
|
|
104
|
+
const res = await put(`/workflows/${wf.short_guid}`, { is_active: false });
|
|
105
|
+
if (res.data?.is_active) {
|
|
106
|
+
console.error(clrError(`Workflow "${wf.name}" is still active after disable — not disabled.`));
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
printResult(`Disabled "${wf.name}".`, opts, { disabled: wf.name, is_active: false });
|
|
94
110
|
}));
|
|
95
111
|
workflowCommand
|
|
96
112
|
.command('create')
|
|
@@ -132,15 +148,46 @@ workflowCommand
|
|
|
132
148
|
.action((name, opts) => run('Delete', async () => {
|
|
133
149
|
const wf = await resolveWorkflow(name);
|
|
134
150
|
await del(`/workflows/${wf.short_guid}`);
|
|
135
|
-
|
|
151
|
+
// Delete is a soft-delete (is_active → 0). Verify the targeted record
|
|
152
|
+
// actually went inactive rather than trusting the request was accepted.
|
|
153
|
+
const after = await get(`/workflows/${wf.short_guid}`);
|
|
154
|
+
if (after.data?.is_active) {
|
|
155
|
+
console.error(clrError(`Workflow "${wf.name}" (${wf.short_guid}) is still active — delete had no effect.`));
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
printResult(`Deleted "${wf.name}".`, opts, { deleted: wf.name, short_guid: wf.short_guid });
|
|
136
159
|
}));
|
|
160
|
+
// Resolve a workflow by name within the linked project (like `gipity fn`), or
|
|
161
|
+
// by short_guid anywhere. Names are unique per active project workflow (DB
|
|
162
|
+
// constraint), so a bare name in this project is unambiguous; the same name in
|
|
163
|
+
// another project is a different workflow and simply isn't matched here.
|
|
137
164
|
async function resolveWorkflow(name) {
|
|
138
|
-
const
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
165
|
+
const { projectGuid } = requireConfig();
|
|
166
|
+
const res = await get(`/projects/${projectGuid}/workflows`);
|
|
167
|
+
const list = res.data ?? [];
|
|
168
|
+
// Exact short_guid match wins — unambiguous override.
|
|
169
|
+
const byGuid = list.find(w => w.short_guid === name);
|
|
170
|
+
if (byGuid)
|
|
171
|
+
return byGuid;
|
|
172
|
+
const byName = list.filter(w => w.name === name);
|
|
173
|
+
if (byName.length === 0) {
|
|
174
|
+
// Fall back to a global short_guid lookup (e.g. account-level workflows).
|
|
175
|
+
const all = await get('/workflows');
|
|
176
|
+
const global = (all.data ?? []).find(w => w.short_guid === name);
|
|
177
|
+
if (global)
|
|
178
|
+
return global;
|
|
179
|
+
console.error(clrError(`Workflow "${name}" not found in this project.`));
|
|
142
180
|
process.exit(1);
|
|
143
181
|
}
|
|
144
|
-
|
|
182
|
+
if (byName.length === 1)
|
|
183
|
+
return byName[0];
|
|
184
|
+
// More than one (an active + soft-deleted carrying the same name): prefer the
|
|
185
|
+
// active one; refuse if still ambiguous.
|
|
186
|
+
const active = byName.filter(w => w.is_active);
|
|
187
|
+
if (active.length === 1)
|
|
188
|
+
return active[0];
|
|
189
|
+
console.error(clrError(`${byName.length} workflows named "${name}" in this project — pass a short_guid:\n` +
|
|
190
|
+
byName.map(w => ` ${w.short_guid}${w.is_active ? '' : ' (inactive)'}`).join('\n')));
|
|
191
|
+
process.exit(1);
|
|
145
192
|
}
|
|
146
193
|
//# sourceMappingURL=workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/flag-aliases.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
1
2
|
/**
|
|
2
3
|
* Hidden long-flag aliases. Keys are tokens a user or LLM might type; values
|
|
3
4
|
* are the canonical long flag commander knows about. Aliases are applied by
|
|
4
5
|
* rewriting argv before commander parses, so `--help` output is unchanged.
|
|
5
6
|
*
|
|
6
7
|
* Rules for adding an alias:
|
|
7
|
-
* - Must be globally unambiguous across all subcommands.
|
|
8
8
|
* - Must be a plausible LLM guess, not a typo fix.
|
|
9
9
|
* - Never alias short flags.
|
|
10
|
+
* - May collide with a real flag on a specific command (e.g. `--from` is a
|
|
11
|
+
* friendly alias for `--since` on `logs`, but a real required option on
|
|
12
|
+
* `workflow create`). Pass the resolved `program` to normalizeAliases and a
|
|
13
|
+
* token is left untouched whenever the command it targets declares it for
|
|
14
|
+
* real — so the real option always wins on the command that owns it.
|
|
10
15
|
*/
|
|
11
16
|
export declare const FLAG_ALIASES: Record<string, string>;
|
|
12
|
-
export declare function normalizeAliases(argv: string[]): string[];
|
|
17
|
+
export declare function normalizeAliases(argv: string[], program?: Command): string[];
|
package/dist/flag-aliases.js
CHANGED
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
* rewriting argv before commander parses, so `--help` output is unchanged.
|
|
5
5
|
*
|
|
6
6
|
* Rules for adding an alias:
|
|
7
|
-
* - Must be globally unambiguous across all subcommands.
|
|
8
7
|
* - Must be a plausible LLM guess, not a typo fix.
|
|
9
8
|
* - Never alias short flags.
|
|
9
|
+
* - May collide with a real flag on a specific command (e.g. `--from` is a
|
|
10
|
+
* friendly alias for `--since` on `logs`, but a real required option on
|
|
11
|
+
* `workflow create`). Pass the resolved `program` to normalizeAliases and a
|
|
12
|
+
* token is left untouched whenever the command it targets declares it for
|
|
13
|
+
* real — so the real option always wins on the command that owns it.
|
|
10
14
|
*/
|
|
11
15
|
export const FLAG_ALIASES = {
|
|
12
16
|
'--out': '--output',
|
|
@@ -28,17 +32,52 @@ export const FLAG_ALIASES = {
|
|
|
28
32
|
'--after': '--since',
|
|
29
33
|
'--delay': '--wait',
|
|
30
34
|
};
|
|
31
|
-
export function normalizeAliases(argv) {
|
|
35
|
+
export function normalizeAliases(argv, program) {
|
|
36
|
+
// Flags the targeted command declares for real — never alias these, so a
|
|
37
|
+
// command's own option always wins over a global guess.
|
|
38
|
+
const realFlags = program ? collectRealFlags(argv, program) : new Set();
|
|
32
39
|
return argv.map(tok => {
|
|
33
40
|
if (!tok.startsWith('--'))
|
|
34
41
|
return tok;
|
|
35
42
|
const eq = tok.indexOf('=');
|
|
36
43
|
if (eq > 0) {
|
|
37
44
|
const name = tok.slice(0, eq);
|
|
45
|
+
if (realFlags.has(name))
|
|
46
|
+
return tok;
|
|
38
47
|
const canonical = FLAG_ALIASES[name];
|
|
39
48
|
return canonical ? `${canonical}${tok.slice(eq)}` : tok;
|
|
40
49
|
}
|
|
50
|
+
if (realFlags.has(tok))
|
|
51
|
+
return tok;
|
|
41
52
|
return FLAG_ALIASES[tok] ?? tok;
|
|
42
53
|
});
|
|
43
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolve the deepest subcommand argv targets (descending program → command →
|
|
57
|
+
* subcommand by name/alias) and return every long flag declared on it and its
|
|
58
|
+
* ancestors. Used to suppress an alias when the resolved command owns that flag.
|
|
59
|
+
*/
|
|
60
|
+
function collectRealFlags(argv, program) {
|
|
61
|
+
// process.argv is [node, script, ...args]; start scanning at the first arg.
|
|
62
|
+
const args = argv.slice(2);
|
|
63
|
+
let cmd = program;
|
|
64
|
+
const chain = [program];
|
|
65
|
+
for (const tok of args) {
|
|
66
|
+
if (tok.startsWith('-'))
|
|
67
|
+
break; // first flag ends command resolution
|
|
68
|
+
const next = cmd.commands.find(c => c.name() === tok || c.aliases().includes(tok));
|
|
69
|
+
if (!next)
|
|
70
|
+
break;
|
|
71
|
+
cmd = next;
|
|
72
|
+
chain.push(next);
|
|
73
|
+
}
|
|
74
|
+
const flags = new Set();
|
|
75
|
+
for (const c of chain) {
|
|
76
|
+
for (const opt of c.options) {
|
|
77
|
+
if (opt.long)
|
|
78
|
+
flags.add(opt.long);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return flags;
|
|
82
|
+
}
|
|
44
83
|
//# sourceMappingURL=flag-aliases.js.map
|
package/dist/flag-aliases.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flag-aliases.js","sourceRoot":"","sources":["../src/flag-aliases.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flag-aliases.js","sourceRoot":"","sources":["../src/flag-aliases.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -28,10 +28,10 @@ import { fileCommand } from './commands/file.js';
|
|
|
28
28
|
import { claudeCommand } from './commands/claude.js';
|
|
29
29
|
import { addCommand } from './commands/add.js';
|
|
30
30
|
import { logsCommand } from './commands/logs.js';
|
|
31
|
-
import {
|
|
32
|
-
import { pageScreenshotCommand } from './commands/page-screenshot.js';
|
|
31
|
+
import { pageCommand } from './commands/page.js';
|
|
33
32
|
import { recordsCommand } from './commands/records.js';
|
|
34
33
|
import { fnCommand } from './commands/fn.js';
|
|
34
|
+
import { jobCommand } from './commands/job.js';
|
|
35
35
|
import { rbacCommand } from './commands/rbac.js';
|
|
36
36
|
import { auditCommand } from './commands/audit.js';
|
|
37
37
|
import { emailCommand } from './commands/email.js';
|
|
@@ -95,8 +95,8 @@ const commonGroup = [skillCommand, projectCommand, addCommand, deployCommand];
|
|
|
95
95
|
const connectGroup = [claudeCommand, relayCommand];
|
|
96
96
|
const projectGroup = [domainCommand, statusCommand, initCommand];
|
|
97
97
|
const filesGroup = [fileCommand, syncCommand, pushCommand, uploadCommand];
|
|
98
|
-
const appBuildingGroup = [testCommand, fnCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
|
|
99
|
-
const utilitiesGroup = [
|
|
98
|
+
const appBuildingGroup = [testCommand, fnCommand, jobCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
|
|
99
|
+
const utilitiesGroup = [pageCommand, sandboxCommand, generateCommand, emailCommand, gmailCommand, locationCommand];
|
|
100
100
|
const agentGroup = [chatCommand, memoryCommand, agentCommand, approvalCommand];
|
|
101
101
|
const setupGroup = [loginCommand, logoutCommand, creditsCommand, planCommand, doctorCommand, updateCommand, uninstallCommand];
|
|
102
102
|
const HELP_SECTIONS = [
|
|
@@ -182,5 +182,5 @@ if (mappedCmd) {
|
|
|
182
182
|
process.exit(0);
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
|
-
program.parse(normalizeAliases(process.argv));
|
|
185
|
+
program.parse(normalizeAliases(process.argv, program));
|
|
186
186
|
//# 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":";AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/knowledge.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Source: platform/docs/knowledge/*.md + docs/skills/*.md frontmatter + gipity-overview.ts
|
|
6
6
|
* Run `just sync-knowledge` to refresh.
|
|
7
7
|
*/
|
|
8
|
-
export declare const BUILD_VS_NON_BUILD_RULE = "## When to add a template\nIf the user wants a deployable app (web, game, API): run `gipity add <template>` before writing any files. A template wires up `gipity.yaml`, deploy config, and sync; hand-written files miss all of it.\nIf it's a one-off task (analysis, media, data, research): skip it - use `gipity sandbox run` or work with files directly.\nIf ambiguous: ask one short clarifying question.\n\nTemplates:\n - `web-simple` - Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool\n - `web-fullstack` - Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel\n - `web-vision-cam` - Live camera app with gesture, pose, or object detection - hand-tracking input, fitness/pose feedback, object-aware UI; on-device, no upload\n - `2d-game` - Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)\n - `3d-engine` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top\n - `3d-world` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)\n - `api` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend\nWhen unsure, default to `web-simple`. After adding the template, edit the generated files, then `gipity deploy dev`.\nOnly skip this on a build request if the user explicitly says not to.\n\nHidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):\n - `app-itsm` - IT Service Management app (helpdesk, ticketing, incident management).\n\nKits are reusable building blocks added to an existing app, not whole templates - their files land in `src/packages/<name>/`:\n - `gipity add realtime` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.\n - `gipity add web-vision-mediapipe` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.";
|
|
9
|
-
export declare const SKILLS_CONTENT = "# Gipity Integration\n\nGipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.\n\nThis session is connected to a Gipity project. Prefer the cheapest option that works - CLI and sandbox are instant and free, app services are runtime HTTP calls, `gipity chat` burns LLM tokens:\n\n1. CLI commands (fast, no agent overhead). The `gipity` CLI covers add, deploy, db, fn, logs, browser, sync, memory, skill, and more. All commands support `--json`.\n2. Cloud sandbox via `gipity sandbox run` - Docker container with pre-installed tools for media (ffmpeg, ImageMagick, sox), documents (pandoc, LibreOffice), and data (pandas, matplotlib, sqlite3). Run `gipity skill read sandbox-tools` for the full toolkit. No network from inside the sandbox - fetch what you need before sending it in.\n3. App services - runtime HTTP endpoints your deployed app calls directly at `https://a.gipity.ai/api/<PROJECT_GUID>/services/*`. Available: LLM, TTS, image, sound, music, transcribe, video, file upload, realtime, location. Load the matching skill (`app-llm`, `app-tts`, etc.) before writing service code - they have the schemas, auth pattern, and common-mistake guards. For one-off generation during development, prefer `gipity generate <image|video|...>` or `gipity chat`.\n4. Delegate to Gip (`gipity chat \"<task>\"`) - only when the work genuinely needs agent reasoning or a tool not in the CLI, sandbox, or app services. Required for: Twitter/X search, Gmail, calendar, push notifications, video understanding, audio source isolation, cross-model second opinions, multi-step orchestration. Don't use `gipity chat` for anything the sandbox can do - it's slower and burns tokens.\n\nYou are the developer. Write files in this directory - they auto-sync to Gipity via hooks. Don't run `npm install`, `npm start`, `node`, or `python` locally; there is no local runtime. Code runs in the Gipity sandbox.\n\n## Use first-party services before reaching outside\n\nGipity ships its own services for things apps usually pull from a third party - auth, location and geocoding, LLM, image/audio/video generation, transcription, file uploads, realtime. Before you call an external API or add an npm package for one of these, run `gipity skill list` and look for a matching skill. First-party services need no API keys, cost less, and keep user data off third parties. Reach outside only when the catalog genuinely has no equivalent - and say so when you do.\n\n## When to add a template\n\nThe full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run `gipity add <template>` first (default `web-simple`); if it's a one-off task (analysis, PDFs, data work), use `gipity sandbox run` instead. To add a reusable building block to an existing app (e.g. multiplayer), `gipity add <kit>`.\n\nBuild loop: `gipity add` \u2192 edit files \u2192 `gipity deploy dev` \u2192 `gipity page
|
|
10
|
-
export declare const DEFINITION_OF_DONE = "## Definition of done (build tasks)\n1. `gipity deploy dev` succeeds and you have a live URL.\n2. `gipity page
|
|
8
|
+
export declare const BUILD_VS_NON_BUILD_RULE = "## When to add a template\nIf the user wants a deployable app (web, game, API): run `gipity add <template>` before writing any files. A template wires up `gipity.yaml`, deploy config, and sync; hand-written files miss all of it.\nIf it's a one-off task (analysis, media, data, research): skip it - use `gipity sandbox run` or work with files directly.\nIf ambiguous: ask one short clarifying question.\n\nTemplates:\n - `web-simple` - Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool\n - `web-fullstack` - Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel\n - `web-vision-cam` - Live camera app with gesture, pose, or object detection - hand-tracking input, fitness/pose feedback, object-aware UI; on-device, no upload\n - `2d-game` - Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)\n - `3d-engine` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top\n - `3d-world` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)\n - `api` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend\n - `karaoke-captions` - Forced-alignment app - karaoke captions, subtitle timing, language learning, dubbing alignment\nWhen unsure, default to `web-simple`. After adding the template, edit the generated files, then `gipity deploy dev`.\nOnly skip this on a build request if the user explicitly says not to.\n\nHidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):\n - `app-itsm` - IT Service Management app (helpdesk, ticketing, incident management).\n - `monitor` - Account-wide observability dashboard - auto-installed; rarely picked manually.\n\nKits are reusable building blocks added to an existing app, not whole templates - their files land in `src/packages/<name>/`:\n - `gipity add realtime` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.\n - `gipity add web-vision-mediapipe` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.\n - `gipity add chatbot` - Drop-in chatbot - configurable persona, scope guardrails, static knowledge (20k budget), streaming responses. Headless engine + bubble widget; bring your own UI if you want. Works in any app.\n - `gipity add audio-align` - Audio + lyrics -> word-level timing JSON. Demucs vocal isolation + MMS_FA forced alignment, runs as a Modal L4 GPU job (~$0.01 per 3-min song). For karaoke captions, subtitling, language learning, dubbing alignment.";
|
|
9
|
+
export declare const SKILLS_CONTENT = "# Gipity Integration\n\nGipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.\n\nThis session is connected to a Gipity project. Prefer the cheapest option that works - CLI and sandbox are instant and free, app services are runtime HTTP calls, `gipity chat` burns LLM tokens:\n\n1. CLI commands (fast, no agent overhead). The `gipity` CLI covers add, deploy, db, fn, logs, browser, sync, memory, skill, and more. All commands support `--json`.\n2. Cloud sandbox via `gipity sandbox run` - Docker container with pre-installed tools for media (ffmpeg, ImageMagick, sox), documents (pandoc, LibreOffice), and data (pandas, matplotlib, sqlite3). Run `gipity skill read sandbox-tools` for the full toolkit. No network from inside the sandbox - fetch what you need before sending it in.\n3. App services - runtime HTTP endpoints your deployed app calls directly at `https://a.gipity.ai/api/<PROJECT_GUID>/services/*`. Available: LLM, TTS, image, sound, music, transcribe, video, file upload, realtime, location. Load the matching skill (`app-llm`, `app-tts`, etc.) before writing service code - they have the schemas, auth pattern, and common-mistake guards. For one-off generation during development, prefer `gipity generate <image|video|...>` or `gipity chat`.\n4. Delegate to Gip (`gipity chat \"<task>\"`) - only when the work genuinely needs agent reasoning or a tool not in the CLI, sandbox, or app services. Required for: Twitter/X search, Gmail, calendar, push notifications, video understanding, audio source isolation, cross-model second opinions, multi-step orchestration. Don't use `gipity chat` for anything the sandbox can do - it's slower and burns tokens.\n\nYou are the developer. Write files in this directory - they auto-sync to Gipity via hooks. Don't run `npm install`, `npm start`, `node`, or `python` locally; there is no local runtime. Code runs in the Gipity sandbox.\n\n## Use first-party services before reaching outside\n\nGipity ships its own services for things apps usually pull from a third party - auth, location and geocoding, LLM, image/audio/video generation, transcription, file uploads, realtime. Before you call an external API or add an npm package for one of these, run `gipity skill list` and look for a matching skill. First-party services need no API keys, cost less, and keep user data off third parties. Reach outside only when the catalog genuinely has no equivalent - and say so when you do.\n\n## When to add a template\n\nThe full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run `gipity add <template>` first (default `web-simple`); if it's a one-off task (analysis, PDFs, data work), use `gipity sandbox run` instead. To add a reusable building block to an existing app (e.g. multiplayer), `gipity add <kit>`.\n\nBuild loop: `gipity add` \u2192 edit files \u2192 `gipity deploy dev` \u2192 `gipity page inspect <url>` \u2192 fix any errors \u2192 repeat until the definition of done is met.\n\n## CLI quick reference\n\nKey commands: `gipity add <template|kit>`, `gipity deploy dev`, `gipity sandbox run`, `gipity page inspect <url>`, `gipity db query \"SQL\"`, `gipity fn call <name>`, `gipity logs fn <name>`, `gipity skill read <name>`.\nRun `gipity --help` for the full list. Use `--help` on any command for details.\n\n## Files and sync\n\nWrite files locally - hooks auto-push to Gipity on every save. Remote-generated files (images, audio from `gipity chat`) auto-pull. Use `gipity sync` if things get out of sync. Deletes are safe - use `rollback` with a datetime to undo, or `file_version_restore` for individual files.\n\n## Skills (detailed documentation)\n\nRun `gipity skill list` to see every skill. Run `gipity skill read <name>` to read one. Load the relevant skill before starting a task - they have the correct API patterns, code examples, and common mistakes.\n\nApp services skills (load before calling `/services/*` endpoints):\n- `app-audio` - sound effects, music, transcription\n- `app-auth` - sign in with Gipity, popup vs redirect\n- `app-files` - uploads, variants, file listing\n- `app-image` - providers, sizes, aspect ratios\n- `app-llm` - chat completions, streaming, image input\n- `app-location` - user location & reverse geocoding for deployed apps (first-party - no third-party geocoder)\n- `app-realtime` - Colyseus rooms, relay vs state\n- `app-tts` - voices, multi-speaker, languages\n- `app-video` - Veo models, aspect, resolution\n\nApp development skills:\n- `app-debugging` - debug a deployed app: page inspect/eval, screenshots, function logs\n- `app-development` - functions, database, and API\n- `deploy` - the deploy pipeline & gipity.yaml manifest\n- `jobs` - long-running CPU + GPU compute jobs (Python / Node / bash)\n- `realtime-scheduled-app` - recipe: realtime presence/messages + DB function + scheduled poster, end-to-end\n- `web-app-basics` - coding guidelines, file structure, HTML/CSS/JS patterns\n\nKit skills (reusable building blocks - `gipity add <kit>`):\n- `audio-align` - the audio-align kit: forced alignment of audio + lyrics into word-level timing JSON\n\nOther key skills:\n- `sandbox-tools` - cloud sandbox capabilities and pre-installed tools\n- `tts` - agent-side speech tools (different from the `app-tts` HTTP service)";
|
|
10
|
+
export declare const DEFINITION_OF_DONE = "## Definition of done (build tasks)\n1. `gipity deploy dev` succeeds and you have a live URL.\n2. `gipity page inspect <url>` returns no console errors and the page loads (HTTP 200, no blank screen).\n3. For apps with functions: `gipity test` passes.\n4. You told the user the live URL.\n\nIf any step fails, fix it before claiming done - do not report success on a broken deploy.";
|
|
11
11
|
export declare const GIPITY_TAGLINE = "The full-stack platform tuned for AI agents.";
|
package/dist/knowledge.js
CHANGED
|
@@ -18,15 +18,19 @@ Templates:
|
|
|
18
18
|
- \`3d-engine\` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top
|
|
19
19
|
- \`3d-world\` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)
|
|
20
20
|
- \`api\` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend
|
|
21
|
+
- \`karaoke-captions\` - Forced-alignment app - karaoke captions, subtitle timing, language learning, dubbing alignment
|
|
21
22
|
When unsure, default to \`web-simple\`. After adding the template, edit the generated files, then \`gipity deploy dev\`.
|
|
22
23
|
Only skip this on a build request if the user explicitly says not to.
|
|
23
24
|
|
|
24
25
|
Hidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):
|
|
25
26
|
- \`app-itsm\` - IT Service Management app (helpdesk, ticketing, incident management).
|
|
27
|
+
- \`monitor\` - Account-wide observability dashboard - auto-installed; rarely picked manually.
|
|
26
28
|
|
|
27
29
|
Kits are reusable building blocks added to an existing app, not whole templates - their files land in \`src/packages/<name>/\`:
|
|
28
30
|
- \`gipity add realtime\` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.
|
|
29
|
-
- \`gipity add web-vision-mediapipe\` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only
|
|
31
|
+
- \`gipity add web-vision-mediapipe\` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.
|
|
32
|
+
- \`gipity add chatbot\` - Drop-in chatbot - configurable persona, scope guardrails, static knowledge (20k budget), streaming responses. Headless engine + bubble widget; bring your own UI if you want. Works in any app.
|
|
33
|
+
- \`gipity add audio-align\` - Audio + lyrics -> word-level timing JSON. Demucs vocal isolation + MMS_FA forced alignment, runs as a Modal L4 GPU job (~$0.01 per 3-min song). For karaoke captions, subtitling, language learning, dubbing alignment.`;
|
|
30
34
|
export const SKILLS_CONTENT = `# Gipity Integration
|
|
31
35
|
|
|
32
36
|
Gipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.
|
|
@@ -48,11 +52,11 @@ Gipity ships its own services for things apps usually pull from a third party -
|
|
|
48
52
|
|
|
49
53
|
The full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run \`gipity add <template>\` first (default \`web-simple\`); if it's a one-off task (analysis, PDFs, data work), use \`gipity sandbox run\` instead. To add a reusable building block to an existing app (e.g. multiplayer), \`gipity add <kit>\`.
|
|
50
54
|
|
|
51
|
-
Build loop: \`gipity add\` → edit files → \`gipity deploy dev\` → \`gipity page
|
|
55
|
+
Build loop: \`gipity add\` → edit files → \`gipity deploy dev\` → \`gipity page inspect <url>\` → fix any errors → repeat until the definition of done is met.
|
|
52
56
|
|
|
53
57
|
## CLI quick reference
|
|
54
58
|
|
|
55
|
-
Key commands: \`gipity add <template|kit>\`, \`gipity deploy dev\`, \`gipity sandbox run\`, \`gipity page
|
|
59
|
+
Key commands: \`gipity add <template|kit>\`, \`gipity deploy dev\`, \`gipity sandbox run\`, \`gipity page inspect <url>\`, \`gipity db query "SQL"\`, \`gipity fn call <name>\`, \`gipity logs fn <name>\`, \`gipity skill read <name>\`.
|
|
56
60
|
Run \`gipity --help\` for the full list. Use \`--help\` on any command for details.
|
|
57
61
|
|
|
58
62
|
## Files and sync
|
|
@@ -75,23 +79,22 @@ App services skills (load before calling \`/services/*\` endpoints):
|
|
|
75
79
|
- \`app-video\` - Veo models, aspect, resolution
|
|
76
80
|
|
|
77
81
|
App development skills:
|
|
78
|
-
- \`app-debugging\` - debug a deployed app: page
|
|
82
|
+
- \`app-debugging\` - debug a deployed app: page inspect/eval, screenshots, function logs
|
|
79
83
|
- \`app-development\` - functions, database, and API
|
|
80
84
|
- \`deploy\` - the deploy pipeline & gipity.yaml manifest
|
|
85
|
+
- \`jobs\` - long-running CPU + GPU compute jobs (Python / Node / bash)
|
|
86
|
+
- \`realtime-scheduled-app\` - recipe: realtime presence/messages + DB function + scheduled poster, end-to-end
|
|
81
87
|
- \`web-app-basics\` - coding guidelines, file structure, HTML/CSS/JS patterns
|
|
82
88
|
|
|
83
|
-
|
|
84
|
-
- \`
|
|
85
|
-
- \`3d-engine\` - minimal 3D multiplayer template (Three.js + Rapier + Colyseus)
|
|
86
|
-
- \`3d-world\` - 3D multiplayer game starter (Three.js + Rapier + Colyseus)
|
|
87
|
-
- \`web-vision-mediapipe\` - web-vision-mediapipe kit: MediaPipe gesture/pose/object detection, web only
|
|
89
|
+
Kit skills (reusable building blocks - \`gipity add <kit>\`):
|
|
90
|
+
- \`audio-align\` - the audio-align kit: forced alignment of audio + lyrics into word-level timing JSON
|
|
88
91
|
|
|
89
92
|
Other key skills:
|
|
90
93
|
- \`sandbox-tools\` - cloud sandbox capabilities and pre-installed tools
|
|
91
94
|
- \`tts\` - agent-side speech tools (different from the \`app-tts\` HTTP service)`;
|
|
92
95
|
export const DEFINITION_OF_DONE = `## Definition of done (build tasks)
|
|
93
96
|
1. \`gipity deploy dev\` succeeds and you have a live URL.
|
|
94
|
-
2. \`gipity page
|
|
97
|
+
2. \`gipity page inspect <url>\` returns no console errors and the page loads (HTTP 200, no blank screen).
|
|
95
98
|
3. For apps with functions: \`gipity test\` passes.
|
|
96
99
|
4. You told the user the live URL.
|
|
97
100
|
|
package/dist/knowledge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;2PAyBoN,CAAC;AAE5P,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4DoD,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;2FAMyD,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC"}
|
package/dist/project-setup.d.ts
CHANGED
|
@@ -4,6 +4,9 @@ export interface FinalizeLocalProjectOpts {
|
|
|
4
4
|
dir: string;
|
|
5
5
|
projectGuid: string;
|
|
6
6
|
projectSlug: string;
|
|
7
|
+
/** Project display name — used to resolve `{{TITLE}}` and friends in any
|
|
8
|
+
* template files that contain placeholders. */
|
|
9
|
+
projectName: string;
|
|
7
10
|
accountSlug: string;
|
|
8
11
|
agentGuid: string;
|
|
9
12
|
/** When true, sync operations are non-fatal and fall through with a log. Used
|
package/dist/project-setup.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import { clearConfigCache, saveConfigAt, getApiBaseOverride } from './config.js';
|
|
8
8
|
import { sync } from './sync.js';
|
|
9
9
|
import { setupClaudeHooks, setupGitignore, SUPPORTED_TOOLS, DEFAULT_SYNC_IGNORE } from './setup.js';
|
|
10
|
+
import { substituteDir } from './template-vars.js';
|
|
11
|
+
import { muted } from './colors.js';
|
|
10
12
|
/** Write `.gipity.json` in `dir`, chdir into it so the hook/skill writers
|
|
11
13
|
* target the right place, sync files, and install Claude Code hooks/skills/
|
|
12
14
|
* gitignore. Returns sync counts so callers can print a summary. */
|
|
@@ -23,6 +25,28 @@ export async function finalizeLocalProject(opts) {
|
|
|
23
25
|
saveConfigAt(opts.dir, config);
|
|
24
26
|
process.chdir(opts.dir);
|
|
25
27
|
clearConfigCache();
|
|
28
|
+
// Resolve `{{PROJECT_GUID}}` / `{{TITLE}}` / `{{ANALYTICS_SCRIPT}}` etc.
|
|
29
|
+
// BEFORE sync uploads. Otherwise a template's placeholder strings would
|
|
30
|
+
// ship verbatim to production (we hit this with karaoke-captions where
|
|
31
|
+
// `APP_GUID` resolved to the literal `'{{PROJECT_GUID}}'` and every API
|
|
32
|
+
// call 404'd). Mirrors what installTemplate does server-side for `gipity
|
|
33
|
+
// add` — keeps the two install paths behaviorally consistent.
|
|
34
|
+
try {
|
|
35
|
+
const sub = await substituteDir(opts.dir, {
|
|
36
|
+
projectGuid: opts.projectGuid,
|
|
37
|
+
projectName: opts.projectName,
|
|
38
|
+
});
|
|
39
|
+
if (sub.changed.length) {
|
|
40
|
+
console.log(muted(`Resolved template vars in ${sub.changed.length} file${sub.changed.length > 1 ? 's' : ''}.`));
|
|
41
|
+
}
|
|
42
|
+
for (const u of sub.unresolved) {
|
|
43
|
+
console.warn(muted(` ${u.path}: unknown placeholder${u.tokens.length > 1 ? 's' : ''} ${u.tokens.join(', ')}`));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
// Substitution failure shouldn't block init — log and continue.
|
|
48
|
+
console.warn(muted(`Template substitution skipped: ${err.message}`));
|
|
49
|
+
}
|
|
26
50
|
let applied = 0;
|
|
27
51
|
try {
|
|
28
52
|
const result = await sync({ interactive: opts.interactive ?? false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../src/project-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../src/project-setup.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
* - Section headings are `## `, lists are `-` or `1.`.
|
|
14
14
|
*/
|
|
15
15
|
import { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE } from './knowledge.js';
|
|
16
|
-
export interface
|
|
16
|
+
export interface TemplateEntry {
|
|
17
17
|
key: string;
|
|
18
18
|
for: string;
|
|
19
19
|
}
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
20
|
+
export declare const TEMPLATES: readonly TemplateEntry[];
|
|
21
|
+
export declare const HIDDEN_TEMPLATES: readonly TemplateEntry[];
|
|
22
|
+
export declare const TEMPLATE_KEY_PATTERN: string;
|
|
23
|
+
export declare const TEMPLATE_PICKER: string;
|
|
24
|
+
export declare const HIDDEN_TEMPLATE_PICKER: string;
|
|
25
25
|
export { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE };
|
|
26
26
|
export declare const CAPABILITIES_BLURB_SHORT: string;
|
|
27
27
|
/** Identity-only - used by light wrappers (resume) that don't need the full
|
package/dist/prompts.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
// platform/docs/knowledge/*.md and regenerated into ./knowledge.ts. Edit the
|
|
17
17
|
// markdown, not this file. See `just sync-knowledge`.
|
|
18
18
|
import { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE } from './knowledge.js';
|
|
19
|
-
export const
|
|
19
|
+
export const TEMPLATES = [
|
|
20
20
|
{ key: 'web-simple', for: 'Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool' },
|
|
21
21
|
{ key: 'web-fullstack', for: 'Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel' },
|
|
22
22
|
{ key: '2d-game', for: 'Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)' },
|
|
@@ -24,14 +24,14 @@ export const SCAFFOLD_TYPES = [
|
|
|
24
24
|
{ key: '3d-engine', for: 'Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own on top' },
|
|
25
25
|
{ key: 'api', for: 'Backend service, webhook, data pipeline, chatbot, cron job - no frontend' },
|
|
26
26
|
];
|
|
27
|
-
export const
|
|
27
|
+
export const HIDDEN_TEMPLATES = [
|
|
28
28
|
{ key: 'app-itsm', for: 'IT service management - helpdesk, ticketing, incident management, agent console + portal' },
|
|
29
29
|
];
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
30
|
+
export const TEMPLATE_KEY_PATTERN = TEMPLATES.map(t => t.key).join('|');
|
|
31
|
+
export const TEMPLATE_PICKER = TEMPLATES
|
|
32
32
|
.map(t => ` - \`${t.key}\` - ${t.for}`)
|
|
33
33
|
.join('\n');
|
|
34
|
-
export const
|
|
34
|
+
export const HIDDEN_TEMPLATE_PICKER = HIDDEN_TEMPLATES
|
|
35
35
|
.map(t => ` - \`${t.key}\` - ${t.for}`)
|
|
36
36
|
.join('\n');
|
|
37
37
|
// ---------------------------------------------------------------------------
|
|
@@ -174,7 +174,7 @@ export function buildFreshWrap(contextBlock, userMsg) {
|
|
|
174
174
|
// ---------------------------------------------------------------------------
|
|
175
175
|
/** Plain ASCII, no apostrophes or backslashes - embedded inside a node -e shell command. */
|
|
176
176
|
export const SCAFFOLD_HOOK_WARNING = `[gipity] Heads up: this project has no app yet. If you are building an app/game/API to deploy, ` +
|
|
177
|
-
`stop and run: gipity add <${
|
|
177
|
+
`stop and run: gipity add <${TEMPLATE_KEY_PATTERN}> (default: web-simple). ` +
|
|
178
178
|
`If this is a one-off task (analysis, data, PDFs, scratch work), proceed.`;
|
|
179
179
|
// ---------------------------------------------------------------------------
|
|
180
180
|
// Per-project CLAUDE.md / AGENTS.md body.
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0EAA0E;AAC1E,6EAA6E;AAC7E,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0EAA0E;AAC1E,6EAA6E;AAC7E,sDAAsD;AACtD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAkB7E,MAAM,CAAC,MAAM,SAAS,GAA6B;IACjD,EAAE,GAAG,EAAE,YAAY,EAAK,GAAG,EAAE,8FAA8F,EAAE;IAC7H,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,0FAA0F,EAAE;IACzH,EAAE,GAAG,EAAE,SAAS,EAAQ,GAAG,EAAE,oEAAoE,EAAE;IACnG,EAAE,GAAG,EAAE,UAAU,EAAO,GAAG,EAAE,sGAAsG,EAAE;IACrI,EAAE,GAAG,EAAE,WAAW,EAAM,GAAG,EAAE,gGAAgG,EAAE;IAC/H,EAAE,GAAG,EAAE,KAAK,EAAY,GAAG,EAAE,0EAA0E,EAAE;CACjG,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,EAAE,GAAG,EAAE,UAAU,EAAO,GAAG,EAAE,0FAA0F,EAAE;CACjH,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS;KACrC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;KACzC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB;KACnD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;KACzC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AACtE,2EAA2E;AAC3E,gDAAgD;AAChD,8EAA8E;AAE9E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,wBAAwB,GACnC,2CAA2C;IAC3C,yFAAyF;IACzF,iFAAiF,CAAC;AA8BpF,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW;QAChC,CAAC,CAAC,yBAAyB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG;QAClE,CAAC,CAAC,oBAAoB,CAAC;IACzB,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC;QACpC,CAAC,CAAC,+BAA+B;QACjC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACnE,OAAO,IAAI,CAAC,WAAW,UAAU,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;YACpE,KAAK,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3D,OAAO;QACL,mBAAmB;QACnB,WAAW,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,WAAW,KAAK;QAC7D,qBAAqB,IAAI,CAAC,WAAW,iDAAiD;QACtF,gBAAgB,IAAI,CAAC,GAAG,EAAE;QAC1B,iBAAiB,SAAS,EAAE;QAC5B,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,gBAAgB,GACpB,gFAAgF,CAAC;AAEnF,MAAM,mBAAmB,GAAG;IAC1B,mDAAmD;IACnD,8EAA8E;IAC9E,qGAAqG;IACrG,6DAA6D;IAC7D,2NAA2N;CAC5N,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;gBAMgB;AAChB,MAAM,UAAU,wBAAwB,CAAC,IAAwB;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;IACrC,OAAO;QACL,WAAW,CAAC,IAAI,CAAC;QACjB,EAAE;QACF,YAAY;QACZ,iDAAiD,wBAAwB,EAAE;QAC3E,EAAE;QACF,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB;QACvD,EAAE;QACF,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC/B,EAAE;QACF,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,0BAA0B,CAAC,IAAwB;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,6KAA6K,CAAC;IAClL,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,IAAgD;IACpF,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,GAAG,IAAI,kCAAkC,IAAI,CAAC,SAAS,gGAAgG,CAAC;IACjK,CAAC;IACD,OAAO,GAAG,IAAI,+JAA+J,CAAC;AAChL,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E;oFACoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,0GAA0G,CAAC;AAE7G;;;;2EAI2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEvD;;0DAE0D;AAC1D,MAAM,kBAAkB,GACtB,yEAAyE,CAAC;AAE5E;;wEAEwE;AACxE,MAAM,UAAU,eAAe,CAAC,IAAyB,EAAE,OAAe;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW;QAChC,CAAC,CAAC,yBAAyB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG;QAClE,CAAC,CAAC,oBAAoB,CAAC;IACzB,OAAO;QACL,YAAY,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,WAAW,SAAS,SAAS,EAAE;QACvE,iBAAiB;QACjB,qFAAqF;QACrF,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,aAAa;QACb,OAAO;QACP,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,OAAe;IAClE,OAAO;QACL,YAAY;QACZ,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,aAAa;QACb,OAAO;QACP,cAAc;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAChC,iGAAiG;IACjG,6BAA6B,oBAAoB,4BAA4B;IAC7E,0EAA0E,CAAC;AAE7E,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,kEAAkE;AAClE,8EAA8E;AAC9E,8EAA8E"}
|