gipity 1.0.339 → 1.0.347
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 +3 -3
- 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/api.d.ts +6 -0
- package/dist/api.js +11 -0
- package/dist/api.js.map +1 -1
- package/dist/commands/add.js +3 -3
- 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/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge.d.ts +2 -2
- package/dist/knowledge.js +8 -6
- package/dist/knowledge.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/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Gipity CLI
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The full-stack platform tuned for AI agents.
|
|
4
4
|
|
|
5
|
-
[Gipity](https://gipity.ai) is the platform: hosting, databases, file storage, deployment, workflows, code execution, and monitoring. Agent-tuned from
|
|
5
|
+
[Gipity](https://gipity.ai) is the platform: hosting, databases, file storage, deployment, workflows, code execution, and monitoring. Agent-tuned from idea to deploy. Use standalone, or pair with Claude Code to give your local agent cloud superpowers. Any model, any infra, always your code.
|
|
6
6
|
|
|
7
7
|
This CLI connects [Claude Code](https://claude.ai/claude-code) to Gipity's cloud platform - databases, deployment, browser testing, image gen, and 50+ other capabilities your local agent doesn't have. It also syncs files so Claude Code and the Gipity web agent share the same project.
|
|
8
8
|
|
|
@@ -138,7 +138,7 @@ gipity sync down # Pull remote changes
|
|
|
138
138
|
| `gipity approval` | List, create, answer, or cancel pending approvals |
|
|
139
139
|
| `gipity workflow` | Manage and trigger automated workflows |
|
|
140
140
|
| `gipity file` | Browse remote files (ls, cat, tree) |
|
|
141
|
-
| `gipity
|
|
141
|
+
| `gipity add <template>` | Add a template (web-simple, 2d-game, 3d-world, web-fullstack, api) |
|
|
142
142
|
| `gipity test` | Run project tests in sandboxed containers |
|
|
143
143
|
| `gipity logs fn <name>` | View function execution logs |
|
|
144
144
|
| `gipity page-inspect <url>` | Inspect a URL: console errors, performance, failed resources |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { test, before, after } from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { runCliAsync } from './helpers/spawn-cli.js';
|
|
4
|
+
import { startMockServer } from './helpers/mock-server.js';
|
|
5
|
+
import { makeAuthedHome, makeProjectDir } from './helpers/test-home.js';
|
|
6
|
+
let mock;
|
|
7
|
+
let home;
|
|
8
|
+
before(async () => { mock = await startMockServer(); home = makeAuthedHome(); });
|
|
9
|
+
after(async () => { await mock.stop(); });
|
|
10
|
+
function fresh(args) {
|
|
11
|
+
const d = makeProjectDir({ apiBase: mock.apiBase });
|
|
12
|
+
return runCliAsync(['--api-base', mock.apiBase, ...args], { env: { HOME: home }, cwd: d });
|
|
13
|
+
}
|
|
14
|
+
test('gipity job list shows jobs with name + runtime + compute + version', async () => {
|
|
15
|
+
mock.reset();
|
|
16
|
+
mock.on('GET /projects/p_TestProj/jobs', { body: { data: [
|
|
17
|
+
{ name: 'align', runtime: 'python-3.11', compute: 'gpu-small', version: 2, on_complete: 'notify', description: 'Forced alignment' },
|
|
18
|
+
{ name: 'render', runtime: 'node-20', compute: 'cpu-large', version: 1, description: null },
|
|
19
|
+
] } });
|
|
20
|
+
const r = await fresh(['job', 'list']);
|
|
21
|
+
assert.equal(r.status, 0, r.stderr);
|
|
22
|
+
assert.match(r.stdout, /align/);
|
|
23
|
+
assert.match(r.stdout, /python-3\.11/);
|
|
24
|
+
assert.match(r.stdout, /gpu-small/);
|
|
25
|
+
assert.match(r.stdout, /v2/);
|
|
26
|
+
assert.match(r.stdout, /→ notify/);
|
|
27
|
+
assert.match(r.stdout, /render/);
|
|
28
|
+
assert.match(r.stdout, /cpu-large/);
|
|
29
|
+
assert.doesNotMatch(r.stdout, /undefined/);
|
|
30
|
+
});
|
|
31
|
+
test('gipity job submit <name> posts and prints run_guid + status', async () => {
|
|
32
|
+
mock.reset();
|
|
33
|
+
mock.on('POST /projects/p_TestProj/jobs/align/submit', { body: { data: { run_guid: 'jr_xx1234', status: 'queued', replayed: false } } });
|
|
34
|
+
const r = await fresh(['job', 'submit', 'align', '{"audio":"foo.wav"}']);
|
|
35
|
+
assert.equal(r.status, 0, r.stderr);
|
|
36
|
+
assert.match(r.stdout, /jr_xx1234/);
|
|
37
|
+
assert.match(r.stdout, /queued/);
|
|
38
|
+
assert.doesNotMatch(r.stdout, /undefined/);
|
|
39
|
+
});
|
|
40
|
+
test('gipity job submit with --idempotency-key shows replayed marker', async () => {
|
|
41
|
+
mock.reset();
|
|
42
|
+
mock.on('POST /projects/p_TestProj/jobs/align/submit', { body: { data: { run_guid: 'jr_xx1234', status: 'success', replayed: true } } });
|
|
43
|
+
const r = await fresh(['job', 'submit', 'align', '--idempotency-key', 'k1']);
|
|
44
|
+
assert.equal(r.status, 0, r.stderr);
|
|
45
|
+
assert.match(r.stdout, /jr_xx1234/);
|
|
46
|
+
assert.match(r.stdout, /replayed/);
|
|
47
|
+
});
|
|
48
|
+
test('gipity job status <guid> renders progress + status', async () => {
|
|
49
|
+
mock.reset();
|
|
50
|
+
mock.on('GET /projects/p_TestProj/jobs/runs/jr_xx1234', { body: { data: {
|
|
51
|
+
guid: 'jr_xx1234',
|
|
52
|
+
status: 'running',
|
|
53
|
+
progress_pct: 0.42,
|
|
54
|
+
progress_message: 'thinking',
|
|
55
|
+
duration_ms: null,
|
|
56
|
+
error: null,
|
|
57
|
+
output: null,
|
|
58
|
+
} } });
|
|
59
|
+
const r = await fresh(['job', 'status', 'jr_xx1234']);
|
|
60
|
+
assert.equal(r.status, 0, r.stderr);
|
|
61
|
+
assert.match(r.stdout, /running/);
|
|
62
|
+
assert.match(r.stdout, /42%/);
|
|
63
|
+
assert.match(r.stdout, /thinking/);
|
|
64
|
+
});
|
|
65
|
+
test('gipity job runs <name> lists per-run rows with status + duration + guid', async () => {
|
|
66
|
+
mock.reset();
|
|
67
|
+
mock.on('GET /projects/p_TestProj/jobs/align/runs', { body: { data: [
|
|
68
|
+
{ status: 'success', duration_ms: 1234, trigger_type: 'cli', guid: 'jr_a', created_at: '2026-05-01T10:00:00Z' },
|
|
69
|
+
{ status: 'failed', duration_ms: 200, trigger_type: 'cli', guid: 'jr_b', created_at: '2026-05-02T10:00:00Z', error: 'kaboom' },
|
|
70
|
+
] } });
|
|
71
|
+
const r = await fresh(['job', 'runs', 'align']);
|
|
72
|
+
assert.equal(r.status, 0, r.stderr);
|
|
73
|
+
assert.match(r.stdout, /success/);
|
|
74
|
+
assert.match(r.stdout, /1234ms/);
|
|
75
|
+
assert.match(r.stdout, /jr_a/);
|
|
76
|
+
assert.match(r.stdout, /failed/);
|
|
77
|
+
assert.match(r.stdout, /kaboom/);
|
|
78
|
+
});
|
|
79
|
+
test('gipity job cancel <guid> sends DELETE and prints cancelled', async () => {
|
|
80
|
+
mock.reset();
|
|
81
|
+
mock.on('DELETE /projects/p_TestProj/jobs/runs/jr_xx1234', { body: { data: { success: true, status: 'cancelled' } } });
|
|
82
|
+
const r = await fresh(['job', 'cancel', 'jr_xx1234']);
|
|
83
|
+
assert.equal(r.status, 0, r.stderr);
|
|
84
|
+
assert.match(r.stdout, /cancelled/);
|
|
85
|
+
});
|
|
86
|
+
test('gipity job logs <guid> --no-follow does a one-shot GET (no stream)', async () => {
|
|
87
|
+
mock.reset();
|
|
88
|
+
mock.on('GET /projects/p_TestProj/jobs/runs/jr_xx1234', { body: { data: {
|
|
89
|
+
guid: 'jr_xx1234',
|
|
90
|
+
status: 'success',
|
|
91
|
+
progress_pct: 1,
|
|
92
|
+
output: { result: 'ok' },
|
|
93
|
+
duration_ms: 500,
|
|
94
|
+
} } });
|
|
95
|
+
const r = await fresh(['job', 'logs', 'jr_xx1234', '--no-follow']);
|
|
96
|
+
assert.equal(r.status, 0, r.stderr);
|
|
97
|
+
assert.match(r.stdout, /success/);
|
|
98
|
+
assert.match(r.stdout, /result/);
|
|
99
|
+
});
|
|
100
|
+
test('gipity job run-local fails clearly when jobs/<name>/ does not exist', async () => {
|
|
101
|
+
// No mock interaction needed - this is a local-only path that exits before
|
|
102
|
+
// any HTTP / Docker call.
|
|
103
|
+
const r = await fresh(['job', 'run-local', 'definitely-not-a-job']);
|
|
104
|
+
assert.notEqual(r.status, 0);
|
|
105
|
+
assert.match(r.stderr, /not found/i);
|
|
106
|
+
});
|
|
107
|
+
test('gipity job run-local with a mocked docker binary builds the right docker run command', async () => {
|
|
108
|
+
// Install a fake `docker` on PATH that records its argv to a temp file and
|
|
109
|
+
// exits 0. Then run-local should: (1) pass `docker info` probe, (2) shell out
|
|
110
|
+
// with `docker run --rm --network bridge --memory 1g --cpus 1 ...`. We assert
|
|
111
|
+
// on the recorded argv to pin the contract.
|
|
112
|
+
const { mkdtempSync, writeFileSync, readFileSync, mkdirSync, chmodSync } = await import('node:fs');
|
|
113
|
+
const { join } = await import('node:path');
|
|
114
|
+
const { tmpdir } = await import('node:os');
|
|
115
|
+
const sandboxRoot = mkdtempSync(`${tmpdir()}/gipity-runlocal-test-`);
|
|
116
|
+
// Project dir with a jobs/hello/main.py handler
|
|
117
|
+
const projDir = join(sandboxRoot, 'proj');
|
|
118
|
+
mkdirSync(join(projDir, 'jobs', 'hello'), { recursive: true });
|
|
119
|
+
writeFileSync(join(projDir, 'jobs', 'hello', 'main.py'), '# @gipity:job runtime=python-3.11\nprint("ok")\n');
|
|
120
|
+
// Make it a Gipity-linked project so requireConfig doesn't bail out.
|
|
121
|
+
writeFileSync(join(projDir, '.gipity.json'), JSON.stringify({
|
|
122
|
+
projectGuid: 'p_TestProj',
|
|
123
|
+
projectSlug: 'proj',
|
|
124
|
+
accountSlug: 'me',
|
|
125
|
+
agentGuid: 'a_x',
|
|
126
|
+
apiBase: mock.apiBase,
|
|
127
|
+
ignore: [],
|
|
128
|
+
}));
|
|
129
|
+
// Fake docker shim - records argv to a file and exits 0.
|
|
130
|
+
const fakeBin = join(sandboxRoot, 'bin');
|
|
131
|
+
mkdirSync(fakeBin, { recursive: true });
|
|
132
|
+
const recordFile = join(sandboxRoot, 'docker-argv.txt');
|
|
133
|
+
const fakeDocker = `#!/usr/bin/env bash
|
|
134
|
+
echo "$@" >> "${recordFile}"
|
|
135
|
+
exit 0
|
|
136
|
+
`;
|
|
137
|
+
writeFileSync(join(fakeBin, 'docker'), fakeDocker);
|
|
138
|
+
chmodSync(join(fakeBin, 'docker'), 0o755);
|
|
139
|
+
const r = await runCliAsync(['--api-base', mock.apiBase, 'job', 'run-local', 'hello'], {
|
|
140
|
+
env: {
|
|
141
|
+
HOME: home,
|
|
142
|
+
PATH: `${fakeBin}:${process.env.PATH ?? ''}`,
|
|
143
|
+
},
|
|
144
|
+
cwd: projDir,
|
|
145
|
+
});
|
|
146
|
+
assert.equal(r.status, 0, r.stderr);
|
|
147
|
+
const recorded = readFileSync(recordFile, 'utf-8');
|
|
148
|
+
// Two invocations: docker info (probe) + docker run ...
|
|
149
|
+
const lines = recorded.trim().split('\n');
|
|
150
|
+
assert.ok(lines.length >= 2, `expected at least 2 docker invocations, got ${lines.length}: ${recorded}`);
|
|
151
|
+
assert.match(lines[0], /^info$/);
|
|
152
|
+
const runLine = lines.find(l => l.startsWith('run ')) ?? '';
|
|
153
|
+
assert.match(runLine, /--rm/);
|
|
154
|
+
assert.match(runLine, /--network bridge/);
|
|
155
|
+
assert.match(runLine, /--memory 1g/);
|
|
156
|
+
assert.match(runLine, /--cpus 1/);
|
|
157
|
+
assert.match(runLine, /--user sandbox/);
|
|
158
|
+
assert.match(runLine, /--workdir \/work/);
|
|
159
|
+
assert.match(runLine, /-v .*\/jobs\/hello:\/work/);
|
|
160
|
+
assert.match(runLine, /python3 \/work\/main\.py/);
|
|
161
|
+
});
|
|
162
|
+
test('gipity job run-local exits non-zero when docker is not on PATH', async () => {
|
|
163
|
+
const { mkdtempSync } = await import('node:fs');
|
|
164
|
+
const { tmpdir } = await import('node:os');
|
|
165
|
+
const emptyBin = mkdtempSync(`${tmpdir()}/gipity-nodocker-`);
|
|
166
|
+
const { writeFileSync, mkdirSync } = await import('node:fs');
|
|
167
|
+
const { join } = await import('node:path');
|
|
168
|
+
const projDir = mkdtempSync(`${tmpdir()}/gipity-nodocker-proj-`);
|
|
169
|
+
mkdirSync(join(projDir, 'jobs', 'hello'), { recursive: true });
|
|
170
|
+
writeFileSync(join(projDir, 'jobs', 'hello', 'main.py'), 'print("x")\n');
|
|
171
|
+
writeFileSync(join(projDir, '.gipity.json'), JSON.stringify({
|
|
172
|
+
projectGuid: 'p_TestProj', projectSlug: 'proj', accountSlug: 'me',
|
|
173
|
+
agentGuid: 'a_x', apiBase: mock.apiBase, ignore: [],
|
|
174
|
+
}));
|
|
175
|
+
const r = await runCliAsync(['--api-base', mock.apiBase, 'job', 'run-local', 'hello'], {
|
|
176
|
+
env: { HOME: home, PATH: emptyBin },
|
|
177
|
+
cwd: projDir,
|
|
178
|
+
});
|
|
179
|
+
assert.notEqual(r.status, 0);
|
|
180
|
+
assert.match(r.stderr, /docker daemon not reachable/i);
|
|
181
|
+
});
|
|
182
|
+
test('gipity job logs <guid> --follow parses SSE events and prints stdout/stderr chunks', async () => {
|
|
183
|
+
// Pre-built SSE blob (mock server writes the body as one chunk + closes;
|
|
184
|
+
// the CLI's reader still processes each `event:`/`data:` pair correctly).
|
|
185
|
+
mock.reset();
|
|
186
|
+
const sse = [
|
|
187
|
+
`event: status\ndata: ${JSON.stringify({ status: 'running', progress_pct: null, progress_message: null, attempt: 1 })}\n\n`,
|
|
188
|
+
`event: log\ndata: ${JSON.stringify({ type: 'stdout', chunk: 'hello stdout\n' })}\n\n`,
|
|
189
|
+
`event: log\ndata: ${JSON.stringify({ type: 'stderr', chunk: 'an error\n' })}\n\n`,
|
|
190
|
+
`event: status\ndata: ${JSON.stringify({ status: 'success', progress_pct: 1, progress_message: 'done', attempt: 1 })}\n\n`,
|
|
191
|
+
`event: output\ndata: ${JSON.stringify({ result: 'ok' })}\n\n`,
|
|
192
|
+
].join('');
|
|
193
|
+
mock.on('GET /projects/p_TestProj/jobs/runs/jr_xx1234/logs/stream', {
|
|
194
|
+
raw: sse,
|
|
195
|
+
contentType: 'text/event-stream',
|
|
196
|
+
});
|
|
197
|
+
const r = await fresh(['job', 'logs', 'jr_xx1234']);
|
|
198
|
+
assert.equal(r.status, 0, `expected 0 got ${r.status}; stderr=${r.stderr}`);
|
|
199
|
+
assert.match(r.stdout, /hello stdout/);
|
|
200
|
+
assert.match(r.stderr, /an error/);
|
|
201
|
+
assert.match(r.stderr, /running/);
|
|
202
|
+
assert.match(r.stderr, /success/);
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=cli-cmd-job.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-cmd-job.test.js","sourceRoot":"","sources":["../../src/__tests__/cli-cmd-job.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExE,IAAI,IAAgB,CAAC;AACrB,IAAI,IAAY,CAAC;AAEjB,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC,CAAC,IAAI,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,KAAK,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1C,SAAS,KAAK,CAAC,IAAc;IAC3B,MAAM,CAAC,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,OAAO,WAAW,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;gBACvD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACnI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;aAC5F,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;IAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACzI,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzI,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;gBACtE,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,UAAU;gBAC5B,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACb,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IACzF,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,0CAA0C,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;gBAClE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE;gBAC/G,EAAE,MAAM,EAAE,QAAQ,EAAG,WAAW,EAAE,GAAG,EAAG,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE;aACjI,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,iDAAiD,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACvH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACpF,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;gBACtE,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACxB,WAAW,EAAE,GAAG;aACjB,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;IACrF,2EAA2E;IAC3E,0BAA0B;IAC1B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;IACtG,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACrE,gDAAgD;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC7G,qEAAqE;IACrE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;QAC1D,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC,CAAC;IAEJ,yDAAyD;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG;gBACL,UAAU;;CAEzB,CAAC;IACA,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;IACnD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACrF,GAAG,EAAE;YACH,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE;SAC7C;QACD,GAAG,EAAE,OAAO;KACb,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,wDAAwD;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,+CAA+C,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAC;IACzG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7D,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;IACzE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;QAC1D,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;QACjE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;KACpD,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACrF,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,GAAG,EAAE,OAAO;KACb,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;IACnG,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,MAAM,GAAG,GAAG;QACV,wBAAwB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM;QAC3H,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM;QACtF,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,MAAM;QAClF,wBAAwB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM;QAC1H,wBAAwB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM;KAC/D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,CAAC,0DAA0D,EAAE;QAClE,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,mBAAmB;KACjC,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
package/dist/api.d.ts
CHANGED
|
@@ -7,6 +7,12 @@ export declare class ApiError extends Error {
|
|
|
7
7
|
/** Structured sidecar payload from the server (e.g. current_server_version on CAS 409s). */
|
|
8
8
|
data?: Record<string, unknown> | undefined);
|
|
9
9
|
}
|
|
10
|
+
/** Exposed so streaming consumers (SSE) can build URLs without re-implementing
|
|
11
|
+
* the override / config resolution. */
|
|
12
|
+
export declare function getBaseUrl(): string;
|
|
13
|
+
/** Returns the access-token Authorization header value so streaming consumers
|
|
14
|
+
* can attach it to fetch/EventSource calls. */
|
|
15
|
+
export declare function getAuthHeader(): Promise<string | undefined>;
|
|
10
16
|
export declare function get<T>(path: string): Promise<T>;
|
|
11
17
|
export declare function post<T>(path: string, body?: unknown): Promise<T>;
|
|
12
18
|
/** POST JSON and consume the response as a tar stream, returning each entry as
|
package/dist/api.js
CHANGED
|
@@ -29,6 +29,17 @@ async function getHeaders() {
|
|
|
29
29
|
function baseUrl() {
|
|
30
30
|
return getApiBaseOverride() || getConfig()?.apiBase || 'https://a.gipity.ai';
|
|
31
31
|
}
|
|
32
|
+
/** Exposed so streaming consumers (SSE) can build URLs without re-implementing
|
|
33
|
+
* the override / config resolution. */
|
|
34
|
+
export function getBaseUrl() {
|
|
35
|
+
return baseUrl();
|
|
36
|
+
}
|
|
37
|
+
/** Returns the access-token Authorization header value so streaming consumers
|
|
38
|
+
* can attach it to fetch/EventSource calls. */
|
|
39
|
+
export async function getAuthHeader() {
|
|
40
|
+
const headers = await getHeaders();
|
|
41
|
+
return headers.Authorization;
|
|
42
|
+
}
|
|
32
43
|
async function request(method, path, body) {
|
|
33
44
|
const headers = await getHeaders();
|
|
34
45
|
const url = `${baseUrl()}${path}`;
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IACA;IAGA;IALT,YACS,UAAkB,EAClB,IAAY,EACnB,OAAe;IACf,4FAA4F;IACrF,IAA8B;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QANR,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QAGZ,SAAI,GAAJ,IAAI,CAA0B;QAGrC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACnE,OAAO;QACL,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;QAC7C,cAAc,EAAE,kBAAkB;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,kBAAkB,EAAE,IAAI,SAAS,EAAE,EAAE,OAAO,IAAI,qBAAqB,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;IACpE,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM;QACN,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACvE,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,IAAY;IACjC,OAAO,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,IAAI,CAAI,IAAY,EAAE,IAAc;IAClD,OAAO,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;sFACsF;AACtF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAc;IAEd,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACvE,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;IAEpF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,OAAO,GAA4C,EAAE,CAAC;IAE5D,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnE,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAsD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,IAAI,CAAC;IACX,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,IAAY,EAAE,IAAc;IACjD,OAAO,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,IAAY,EAAE,IAAc;IACjD,OAAO,OAAO,CAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC9C,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,kBAAkB,MAAM,CAAC,gBAAgB,WAAW;QACtD,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACtB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAEvF,MAAM,GAAG,GAAG,MAAM,IAAI,CAEnB,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEnB,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC1D,UAAU,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAEnE,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAA2C,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EAAE,IAAoC,EAAE,aAAqB,EAAE,WAAoB;IAE9F,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAA2B,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IACpF,IAAI,WAAW;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IAEvD,sEAAsE;IACtE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,OAAQ,IAA8B,CAAC,IAAI,KAAK,UAAU,CAAC;IAC5E,MAAM,SAAS,GAAa,QAAQ;QAClC,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,IAAiC,CAA+B;QAClF,CAAC,CAAC,IAAI,UAAU,CAAC,IAAc,CAAC,CAAC;IAEnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,KAAK;QACb,OAAO;QACP,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,MAAM,EAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAoC,WAAW,CAAC,CAAC;IACtE,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;IACxC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,IAAY,EAAE,IAAa;IAC7D,MAAM,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACvE,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/add.js
CHANGED
|
@@ -4,11 +4,11 @@ import { requireConfig } from '../config.js';
|
|
|
4
4
|
import { sync } from '../sync.js';
|
|
5
5
|
import { success, muted, bold } from '../colors.js';
|
|
6
6
|
import { run } from '../helpers/index.js';
|
|
7
|
-
// Catalog mirrored from platform/packages/shared (
|
|
7
|
+
// Catalog mirrored from platform/packages/shared (TEMPLATES + KITS) -
|
|
8
8
|
// the CLI ships as a standalone npm package and can't depend on the private
|
|
9
9
|
// shared workspace. Keep these lists in sync when catalog entries change.
|
|
10
10
|
//
|
|
11
|
-
// Templates
|
|
11
|
+
// Templates install a whole app (blank wiring or a working starter demo).
|
|
12
12
|
// Kits are reusable building blocks added into an existing app's src/packages/.
|
|
13
13
|
const TEMPLATES = ['web-simple', '3d-engine'];
|
|
14
14
|
const STARTERS = ['web-fullstack', 'web-vision-cam', '2d-game', '3d-world', 'api'];
|
|
@@ -19,7 +19,7 @@ const KITS = [
|
|
|
19
19
|
];
|
|
20
20
|
function printCatalog() {
|
|
21
21
|
console.log('');
|
|
22
|
-
console.log(`${bold('Templates')} ${muted('-
|
|
22
|
+
console.log(`${bold('Templates')} ${muted('- install a whole app into an empty project')}`);
|
|
23
23
|
console.log(` ${TEMPLATES.join(', ')} ${muted('(blank wiring)')}`);
|
|
24
24
|
console.log(` ${STARTERS.join(', ')} ${muted('(working demos)')}`);
|
|
25
25
|
console.log('');
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/credits.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
2
3
|
import { get } from '../api.js';
|
|
3
4
|
import { brand, muted } from '../colors.js';
|
|
4
5
|
import { run, printList } from '../helpers/index.js';
|
|
6
|
+
const PRICING_URL = 'https://prompt.gipity.ai/pricing';
|
|
7
|
+
function openInBrowser(url) {
|
|
8
|
+
const cmd = process.platform === 'darwin' ? 'open' :
|
|
9
|
+
process.platform === 'win32' ? 'start' :
|
|
10
|
+
'xdg-open';
|
|
11
|
+
try {
|
|
12
|
+
spawn(cmd, [url], { stdio: 'ignore', detached: true }).unref();
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// Spawn failed (no xdg-open on minimal Linux, etc.) - caller prints the URL.
|
|
16
|
+
}
|
|
17
|
+
}
|
|
5
18
|
export const creditsCommand = new Command('credits')
|
|
6
19
|
.description('View credits')
|
|
7
20
|
.option('--json', 'Output as JSON')
|
|
@@ -20,6 +33,14 @@ export const creditsCommand = new Command('credits')
|
|
|
20
33
|
}
|
|
21
34
|
}
|
|
22
35
|
}));
|
|
36
|
+
creditsCommand
|
|
37
|
+
.command('buy')
|
|
38
|
+
.description('Open the credits purchase page in your browser')
|
|
39
|
+
.action(() => run('Buy credits', async () => {
|
|
40
|
+
console.log(`Opening ${brand(PRICING_URL)} in your browser...`);
|
|
41
|
+
openInBrowser(PRICING_URL);
|
|
42
|
+
console.log(muted("If your browser didn't open automatically, copy the URL above."));
|
|
43
|
+
}));
|
|
23
44
|
creditsCommand
|
|
24
45
|
.command('usage')
|
|
25
46
|
.description('Show recent usage')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credits.js","sourceRoot":"","sources":["../../src/commands/credits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"credits.js","sourceRoot":"","sources":["../../src/commands/credits.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { get, post, del, getBaseUrl, getAuthHeader } from '../api.js';
|
|
3
|
+
import { requireConfig } from '../config.js';
|
|
4
|
+
import { error as clrError, bold, muted, success, warning as warn } from '../colors.js';
|
|
5
|
+
import { run, printList } from '../helpers/index.js';
|
|
6
|
+
export const jobCommand = new Command('job')
|
|
7
|
+
.description('Long-running jobs - CPU sandbox or GPU via Modal (gpu-small=L4, gpu-medium=A10G, gpu-large=A100, gpu-huge=H100). Declared in gipity.yaml jobs: phase; submit + poll via subcommands below.');
|
|
8
|
+
jobCommand
|
|
9
|
+
.command('list')
|
|
10
|
+
.description('List jobs')
|
|
11
|
+
.option('--json', 'Output as JSON')
|
|
12
|
+
.action((opts) => run('List', async () => {
|
|
13
|
+
const config = requireConfig();
|
|
14
|
+
const res = await get(`/projects/${config.projectGuid}/jobs`);
|
|
15
|
+
printList(res.data, opts, 'No jobs defined.', j => {
|
|
16
|
+
const tags = [muted(`v${j.version}`), muted(j.runtime), muted(j.compute)];
|
|
17
|
+
if (j.on_complete)
|
|
18
|
+
tags.push(muted(`→ ${j.on_complete}`));
|
|
19
|
+
const line = `${bold(j.name)} ${tags.join(' ')}`;
|
|
20
|
+
return j.description ? `${line}\n ${muted(j.description)}` : line;
|
|
21
|
+
});
|
|
22
|
+
}));
|
|
23
|
+
jobCommand
|
|
24
|
+
.command('submit <name> [body]')
|
|
25
|
+
.description('Submit a job (returns a run guid; poll with `job status <guid>`)')
|
|
26
|
+
.option('--data <json>', 'JSON input body')
|
|
27
|
+
.option('--idempotency-key <key>', 'Idempotency key (replays return the existing run)')
|
|
28
|
+
.option('--json', 'Output as JSON')
|
|
29
|
+
.action((name, bodyArg, opts) => run('Submit', async () => {
|
|
30
|
+
const config = requireConfig();
|
|
31
|
+
const raw = bodyArg || opts.data || '{}';
|
|
32
|
+
const input = JSON.parse(raw);
|
|
33
|
+
const body = { input };
|
|
34
|
+
if (opts.idempotencyKey)
|
|
35
|
+
body.idempotency_key = opts.idempotencyKey;
|
|
36
|
+
const res = await post(`/projects/${config.projectGuid}/jobs/${encodeURIComponent(name)}/submit`, body);
|
|
37
|
+
if (opts.json) {
|
|
38
|
+
console.log(JSON.stringify(res.data));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const tag = res.data.replayed ? warn(' (replayed)') : '';
|
|
42
|
+
console.log(`${bold(res.data.run_guid)} ${muted(res.data.status)}${tag}`);
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
jobCommand
|
|
46
|
+
.command('status <runGuid>')
|
|
47
|
+
.description('Show status of a job run')
|
|
48
|
+
.option('--json', 'Output as JSON')
|
|
49
|
+
.action((runGuid, opts) => run('Status', async () => {
|
|
50
|
+
const config = requireConfig();
|
|
51
|
+
const res = await get(`/projects/${config.projectGuid}/jobs/runs/${encodeURIComponent(runGuid)}`);
|
|
52
|
+
if (opts.json) {
|
|
53
|
+
console.log(JSON.stringify(res.data));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const r = res.data;
|
|
57
|
+
const statusColor = r.status === 'success' ? success : r.status === 'failed' ? clrError : muted;
|
|
58
|
+
console.log(`${statusColor(r.status)} ${muted(r.guid)}`);
|
|
59
|
+
if (r.progress_pct != null)
|
|
60
|
+
console.log(` progress: ${Math.round(r.progress_pct * 100)}%${r.progress_message ? ` (${r.progress_message})` : ''}`);
|
|
61
|
+
if (r.duration_ms != null)
|
|
62
|
+
console.log(` duration: ${r.duration_ms}ms`);
|
|
63
|
+
if (r.error)
|
|
64
|
+
console.log(` ${clrError('error:')} ${r.error}`);
|
|
65
|
+
if (r.output)
|
|
66
|
+
console.log(` output: ${JSON.stringify(r.output)}`);
|
|
67
|
+
}));
|
|
68
|
+
jobCommand
|
|
69
|
+
.command('runs <name>')
|
|
70
|
+
.description('List recent runs for a job')
|
|
71
|
+
.option('--limit <n>', 'Max entries', '20')
|
|
72
|
+
.option('--json', 'Output as JSON')
|
|
73
|
+
.action((name, opts) => run('Runs', async () => {
|
|
74
|
+
const config = requireConfig();
|
|
75
|
+
const res = await get(`/projects/${config.projectGuid}/jobs/${encodeURIComponent(name)}/runs?limit=${opts.limit}`);
|
|
76
|
+
printList(res.data, opts, 'No runs for this job.', r => {
|
|
77
|
+
const statusColor = r.status === 'success' ? success : r.status === 'failed' ? clrError : muted;
|
|
78
|
+
const dur = r.duration_ms != null ? `${r.duration_ms}ms` : '?';
|
|
79
|
+
const ts = new Date(r.created_at).toLocaleString();
|
|
80
|
+
const line = `${statusColor(r.status)} ${dur} ${muted(r.trigger_type)} ${muted(r.guid)} ${muted(ts)}`;
|
|
81
|
+
return r.error ? `${line}\n ${clrError(`error: ${r.error}`)}` : line;
|
|
82
|
+
});
|
|
83
|
+
}));
|
|
84
|
+
jobCommand
|
|
85
|
+
.command('logs <runGuid>')
|
|
86
|
+
.description('Stream live logs for a job run (--no-follow for a one-shot snapshot)')
|
|
87
|
+
.option('--follow', 'Stream via SSE (default)', true)
|
|
88
|
+
.option('--no-follow', 'One-shot snapshot of run state instead of streaming')
|
|
89
|
+
.option('--json', 'Output as JSON')
|
|
90
|
+
.action((runGuid, opts) => run('Logs', async () => {
|
|
91
|
+
const config = requireConfig();
|
|
92
|
+
if (!opts.follow) {
|
|
93
|
+
const res = await get(`/projects/${config.projectGuid}/jobs/runs/${encodeURIComponent(runGuid)}`);
|
|
94
|
+
console.log(opts.json ? JSON.stringify(res.data) : JSON.stringify(res.data, null, 2));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// SSE stream. Manual fetch + line buffering - Node's EventSource isn't built-in,
|
|
98
|
+
// and the SSE format is simple enough to parse inline (event: <name>\ndata: <json>\n\n).
|
|
99
|
+
const url = `${getBaseUrl()}/projects/${config.projectGuid}/jobs/runs/${encodeURIComponent(runGuid)}/logs/stream`;
|
|
100
|
+
const authHeader = await getAuthHeader();
|
|
101
|
+
const headers = { 'Accept': 'text/event-stream' };
|
|
102
|
+
if (authHeader)
|
|
103
|
+
headers.Authorization = authHeader;
|
|
104
|
+
const res = await fetch(url, { headers });
|
|
105
|
+
if (!res.ok || !res.body) {
|
|
106
|
+
console.error(clrError(`Failed to open stream: HTTP ${res.status}`));
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
const reader = res.body.getReader();
|
|
110
|
+
const decoder = new TextDecoder();
|
|
111
|
+
let buffer = '';
|
|
112
|
+
let currentEvent = '';
|
|
113
|
+
while (true) {
|
|
114
|
+
const { done, value } = await reader.read();
|
|
115
|
+
if (done)
|
|
116
|
+
break;
|
|
117
|
+
buffer += decoder.decode(value, { stream: true });
|
|
118
|
+
let nl;
|
|
119
|
+
while ((nl = buffer.indexOf('\n')) >= 0) {
|
|
120
|
+
const line = buffer.slice(0, nl).trimEnd();
|
|
121
|
+
buffer = buffer.slice(nl + 1);
|
|
122
|
+
if (line.startsWith('event:')) {
|
|
123
|
+
currentEvent = line.slice(6).trim();
|
|
124
|
+
}
|
|
125
|
+
else if (line.startsWith('data:')) {
|
|
126
|
+
const dataRaw = line.slice(5).trim();
|
|
127
|
+
if (currentEvent === 'log') {
|
|
128
|
+
try {
|
|
129
|
+
const { type, chunk } = JSON.parse(dataRaw);
|
|
130
|
+
// stderr chunks go to real stderr so pipes / redirects work
|
|
131
|
+
// correctly (e.g. `gipity job logs <guid> > out.txt 2> err.txt`).
|
|
132
|
+
if (type === 'stderr')
|
|
133
|
+
process.stderr.write(clrError(chunk));
|
|
134
|
+
else
|
|
135
|
+
process.stdout.write(chunk);
|
|
136
|
+
}
|
|
137
|
+
catch { /* ignore malformed */ }
|
|
138
|
+
}
|
|
139
|
+
else if (currentEvent === 'status') {
|
|
140
|
+
try {
|
|
141
|
+
const s = JSON.parse(dataRaw);
|
|
142
|
+
const statusColor = s.status === 'success' ? success : s.status === 'failed' ? clrError : muted;
|
|
143
|
+
const extras = [];
|
|
144
|
+
if (s.attempt && s.attempt > 1)
|
|
145
|
+
extras.push(`attempt=${s.attempt}`);
|
|
146
|
+
if (s.progress_pct != null)
|
|
147
|
+
extras.push(`${Math.round(s.progress_pct * 100)}%`);
|
|
148
|
+
if (s.progress_message)
|
|
149
|
+
extras.push(`"${s.progress_message}"`);
|
|
150
|
+
console.error(muted(`[status: ${statusColor(s.status)}${extras.length ? ' ' + extras.join(' ') : ''}]`));
|
|
151
|
+
}
|
|
152
|
+
catch { /* ignore */ }
|
|
153
|
+
}
|
|
154
|
+
else if (currentEvent === 'error') {
|
|
155
|
+
try {
|
|
156
|
+
const { message } = JSON.parse(dataRaw);
|
|
157
|
+
console.error(clrError(`[error] ${message}`));
|
|
158
|
+
}
|
|
159
|
+
catch { /* ignore */ }
|
|
160
|
+
}
|
|
161
|
+
else if (currentEvent === 'output') {
|
|
162
|
+
console.error(muted('[output]'));
|
|
163
|
+
console.error(dataRaw);
|
|
164
|
+
}
|
|
165
|
+
// skip 'ping' heartbeats silently
|
|
166
|
+
}
|
|
167
|
+
else if (line === '') {
|
|
168
|
+
currentEvent = '';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}));
|
|
173
|
+
jobCommand
|
|
174
|
+
.command('cancel <runGuid>')
|
|
175
|
+
.description('Cancel a queued or running job')
|
|
176
|
+
.option('--json', 'Output as JSON')
|
|
177
|
+
.action((runGuid, opts) => run('Cancel', async () => {
|
|
178
|
+
const config = requireConfig();
|
|
179
|
+
const res = await del(`/projects/${config.projectGuid}/jobs/runs/${encodeURIComponent(runGuid)}`);
|
|
180
|
+
if (opts.json) {
|
|
181
|
+
console.log(JSON.stringify(res.data));
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
console.log(`${success('cancelled')} ${muted(runGuid)}`);
|
|
185
|
+
}
|
|
186
|
+
}));
|
|
187
|
+
jobCommand
|
|
188
|
+
.command('run-local <name>')
|
|
189
|
+
.description('Run the job in a local Docker container against your local filesystem (no platform round-trip)')
|
|
190
|
+
.option('--image <image>', 'Docker image to run inside', 'easyclaw/sandbox:latest')
|
|
191
|
+
.option('--no-deps', 'Skip pip/npm install even if a deps file is present')
|
|
192
|
+
.action(async (name, opts) => {
|
|
193
|
+
const { existsSync, statSync } = await import('node:fs');
|
|
194
|
+
const { resolve, join } = await import('node:path');
|
|
195
|
+
const { spawn, spawnSync } = await import('node:child_process');
|
|
196
|
+
const jobDir = resolve(process.cwd(), 'jobs', name);
|
|
197
|
+
if (!existsSync(jobDir) || !statSync(jobDir).isDirectory()) {
|
|
198
|
+
console.error(clrError(`jobs/${name}/ not found in current directory`));
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
// Auto-detect runtime from handler filename.
|
|
202
|
+
const variants = [
|
|
203
|
+
{ file: 'main.py', runtime: 'python-3.11', entry: 'python3', depsFile: 'requirements.txt',
|
|
204
|
+
installCmd: ['pip', 'install', '--user', '--break-system-packages', '--quiet', '--disable-pip-version-check', '-r', '/work/requirements.txt'] },
|
|
205
|
+
{ file: 'main.js', runtime: 'node-20', entry: 'node', depsFile: 'package.json',
|
|
206
|
+
installCmd: ['npm', 'install', '--silent', '--no-audit', '--no-fund', '--prefix', '/work'] },
|
|
207
|
+
{ file: 'main.sh', runtime: 'bash', entry: 'bash' },
|
|
208
|
+
];
|
|
209
|
+
const picked = variants.find(v => existsSync(join(jobDir, v.file)));
|
|
210
|
+
if (!picked) {
|
|
211
|
+
console.error(clrError(`No main.py / main.js / main.sh found under jobs/${name}/`));
|
|
212
|
+
process.exit(1);
|
|
213
|
+
}
|
|
214
|
+
// Confirm docker is reachable before bothering to build args.
|
|
215
|
+
const probe = spawnSync('docker', ['info'], { stdio: 'ignore' });
|
|
216
|
+
if (probe.status !== 0) {
|
|
217
|
+
console.error(clrError('docker daemon not reachable. Start Docker Desktop / dockerd and retry.'));
|
|
218
|
+
process.exit(1);
|
|
219
|
+
}
|
|
220
|
+
const sharedArgs = [
|
|
221
|
+
'--rm',
|
|
222
|
+
'--network', 'bridge',
|
|
223
|
+
'--memory', '1g',
|
|
224
|
+
'--cpus', '1',
|
|
225
|
+
'--user', 'sandbox',
|
|
226
|
+
'--workdir', '/work',
|
|
227
|
+
'-v', `${jobDir}:/work`,
|
|
228
|
+
];
|
|
229
|
+
// Run deps install + handler in ONE docker run. Two separate `docker run --rm`
|
|
230
|
+
// calls would lose the pip --user / npm install state to the destroyed container.
|
|
231
|
+
const needsDeps = opts.deps !== false && picked.depsFile && picked.installCmd && existsSync(join(jobDir, picked.depsFile));
|
|
232
|
+
const handlerCmd = `${picked.entry} /work/${picked.file}`;
|
|
233
|
+
let shellCmd;
|
|
234
|
+
if (needsDeps && picked.installCmd) {
|
|
235
|
+
const installShell = picked.installCmd.map(a => /\s/.test(a) ? `'${a}'` : a).join(' ');
|
|
236
|
+
shellCmd = `echo '[run-local] installing deps from ${picked.depsFile}...' >&2 && ${installShell} && echo '[run-local] running ${handlerCmd} (${picked.runtime})' >&2 && exec ${handlerCmd}`;
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
shellCmd = `echo '[run-local] running ${handlerCmd} (${picked.runtime})' >&2 && exec ${handlerCmd}`;
|
|
240
|
+
}
|
|
241
|
+
const runArgs = ['run', ...sharedArgs, '--entrypoint', 'sh', opts.image, '-c', shellCmd];
|
|
242
|
+
const child = spawn('docker', runArgs, { stdio: 'inherit' });
|
|
243
|
+
child.on('exit', (code) => {
|
|
244
|
+
if (code === 0)
|
|
245
|
+
console.error(muted(`[run-local] ${success('done')}`));
|
|
246
|
+
else
|
|
247
|
+
console.error(muted(`[run-local] ${clrError('failed')} (exit ${code})`));
|
|
248
|
+
process.exit(code ?? 1);
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
//# sourceMappingURL=job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/commands/job.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import { pageInspectCommand } from './commands/page-inspect.js';
|
|
|
32
32
|
import { pageScreenshotCommand } from './commands/page-screenshot.js';
|
|
33
33
|
import { recordsCommand } from './commands/records.js';
|
|
34
34
|
import { fnCommand } from './commands/fn.js';
|
|
35
|
+
import { jobCommand } from './commands/job.js';
|
|
35
36
|
import { rbacCommand } from './commands/rbac.js';
|
|
36
37
|
import { auditCommand } from './commands/audit.js';
|
|
37
38
|
import { emailCommand } from './commands/email.js';
|
|
@@ -95,7 +96,7 @@ const commonGroup = [skillCommand, projectCommand, addCommand, deployCommand];
|
|
|
95
96
|
const connectGroup = [claudeCommand, relayCommand];
|
|
96
97
|
const projectGroup = [domainCommand, statusCommand, initCommand];
|
|
97
98
|
const filesGroup = [fileCommand, syncCommand, pushCommand, uploadCommand];
|
|
98
|
-
const appBuildingGroup = [testCommand, fnCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
|
|
99
|
+
const appBuildingGroup = [testCommand, fnCommand, jobCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
|
|
99
100
|
const utilitiesGroup = [pageInspectCommand, pageScreenshotCommand, sandboxCommand, generateCommand, emailCommand, gmailCommand, locationCommand];
|
|
100
101
|
const agentGroup = [chatCommand, memoryCommand, agentCommand, approvalCommand];
|
|
101
102
|
const setupGroup = [loginCommand, logoutCommand, creditsCommand, planCommand, doctorCommand, updateCommand, uninstallCommand];
|
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,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,yEAAyE;AACzE,uEAAuE;AACvE,4EAA4E;AAC5E,CAAC;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACxE,CAAC;aAAM,IAAI,SAAS,EAAE,EAAE,CAAC;YACvB,QAAQ,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,aAAa,CAAC,GAAY;IACjC,GAAG,CAAC,aAAa,CAAC;QAChB,UAAU,CAAC,GAAG,EAAE,MAAM;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;QACnC,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,WAAW,GAAQ,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACnF,MAAM,YAAY,GAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACvD,MAAM,YAAY,GAAO,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AACrE,MAAM,UAAU,GAAS,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;
|
|
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-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, screenshots, function logs\n- `app-development` - functions, database, and API\n- `deploy` - the deploy pipeline & gipity.yaml manifest\n- `web-app-basics` - coding guidelines, file structure, HTML/CSS/JS patterns\n\
|
|
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, 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- `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
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.
|
|
@@ -78,13 +82,11 @@ App development skills:
|
|
|
78
82
|
- \`app-debugging\` - debug a deployed app: page-inspect, 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)
|
|
81
86
|
- \`web-app-basics\` - coding guidelines, file structure, HTML/CSS/JS patterns
|
|
82
87
|
|
|
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
|
|
88
|
+
Kit skills (reusable building blocks - \`gipity add <kit>\`):
|
|
89
|
+
- \`audio-align\` - the audio-align kit: forced alignment of audio + lyrics into word-level timing JSON
|
|
88
90
|
|
|
89
91
|
Other key skills:
|
|
90
92
|
- \`sandbox-tools\` - cloud sandbox capabilities and pre-installed tools
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA2DoD,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;2FAMyD,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC"}
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gipity",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "The
|
|
3
|
+
"version": "1.0.347",
|
|
4
|
+
"description": "The full-stack platform tuned for AI agents. Database, storage, auth, functions, deploy, and drop-in kits - all agent-tuned. Pair with Claude Code or use standalone.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gipity": "./dist/updater/shim.js",
|
|
7
7
|
"gipcc": "./dist/gipcc.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"build": "tsc && chmod +x dist/index.js dist/gipcc.js dist/gipccd.js dist/updater/shim.js dist/updater/check.js",
|
|
13
13
|
"dev": "tsc --watch",
|
|
14
14
|
"test": "npm run test:smoke",
|
|
15
|
-
"test:smoke": "tsc && node --test dist/__tests__/utils.test.js dist/__tests__/config.test.js dist/__tests__/sync.test.js dist/__tests__/sync-apply.test.js dist/__tests__/sync-lock.test.js dist/__tests__/push-cas.test.js dist/__tests__/upload.test.js dist/__tests__/updater.test.js dist/__tests__/cli-smoke.test.js dist/__tests__/claude-noninteractive.test.js dist/__tests__/claude-trust.test.js dist/__tests__/relay-state.test.js dist/__tests__/relay-daemon.test.js dist/__tests__/relay-installers.test.js dist/__tests__/relay-bridge-abort.test.js dist/__tests__/relay-redact.test.js dist/__tests__/relay-machine-id.test.js dist/__tests__/stream-json.test.js dist/__tests__/relay-ingest-contract.test.js dist/__tests__/prompts.test.js dist/__tests__/capture-transcript.test.js dist/__tests__/flag-aliases.test.js dist/__tests__/adopt-cwd.test.js dist/__tests__/cli-cmd-agent.test.js dist/__tests__/cli-cmd-approval.test.js dist/__tests__/cli-cmd-audit.test.js dist/__tests__/cli-cmd-chat.test.js dist/__tests__/cli-cmd-credits.test.js dist/__tests__/cli-cmd-db.test.js dist/__tests__/cli-cmd-deploy.test.js dist/__tests__/cli-cmd-domain.test.js dist/__tests__/cli-cmd-email.test.js dist/__tests__/cli-cmd-file.test.js dist/__tests__/cli-cmd-fn.test.js dist/__tests__/cli-cmd-generate.test.js dist/__tests__/cli-cmd-gmail.test.js dist/__tests__/cli-cmd-info.test.js dist/__tests__/cli-cmd-init.test.js dist/__tests__/cli-cmd-location.test.js dist/__tests__/cli-cmd-login.test.js dist/__tests__/cli-cmd-logout.test.js dist/__tests__/cli-cmd-logs.test.js dist/__tests__/cli-cmd-memory.test.js dist/__tests__/cli-cmd-page-inspect.test.js dist/__tests__/cli-cmd-plan.test.js dist/__tests__/cli-cmd-project.test.js dist/__tests__/cli-cmd-rbac.test.js dist/__tests__/cli-cmd-realtime.test.js dist/__tests__/cli-cmd-records.test.js dist/__tests__/cli-cmd-relay.test.js dist/__tests__/cli-cmd-sandbox.test.js dist/__tests__/cli-cmd-add.test.js dist/__tests__/cli-cmd-skill.test.js dist/__tests__/cli-cmd-test.test.js dist/__tests__/cli-cmd-workflow.test.js dist/__tests__/setup-skills-block.test.js",
|
|
15
|
+
"test:smoke": "tsc && node --test dist/__tests__/utils.test.js dist/__tests__/config.test.js dist/__tests__/sync.test.js dist/__tests__/sync-apply.test.js dist/__tests__/sync-lock.test.js dist/__tests__/push-cas.test.js dist/__tests__/upload.test.js dist/__tests__/updater.test.js dist/__tests__/cli-smoke.test.js dist/__tests__/claude-noninteractive.test.js dist/__tests__/claude-trust.test.js dist/__tests__/relay-state.test.js dist/__tests__/relay-daemon.test.js dist/__tests__/relay-installers.test.js dist/__tests__/relay-bridge-abort.test.js dist/__tests__/relay-redact.test.js dist/__tests__/relay-machine-id.test.js dist/__tests__/stream-json.test.js dist/__tests__/relay-ingest-contract.test.js dist/__tests__/prompts.test.js dist/__tests__/capture-transcript.test.js dist/__tests__/flag-aliases.test.js dist/__tests__/adopt-cwd.test.js dist/__tests__/cli-cmd-agent.test.js dist/__tests__/cli-cmd-approval.test.js dist/__tests__/cli-cmd-audit.test.js dist/__tests__/cli-cmd-chat.test.js dist/__tests__/cli-cmd-credits.test.js dist/__tests__/cli-cmd-db.test.js dist/__tests__/cli-cmd-deploy.test.js dist/__tests__/cli-cmd-domain.test.js dist/__tests__/cli-cmd-email.test.js dist/__tests__/cli-cmd-file.test.js dist/__tests__/cli-cmd-fn.test.js dist/__tests__/cli-cmd-job.test.js dist/__tests__/cli-cmd-generate.test.js dist/__tests__/cli-cmd-gmail.test.js dist/__tests__/cli-cmd-info.test.js dist/__tests__/cli-cmd-init.test.js dist/__tests__/cli-cmd-location.test.js dist/__tests__/cli-cmd-login.test.js dist/__tests__/cli-cmd-logout.test.js dist/__tests__/cli-cmd-logs.test.js dist/__tests__/cli-cmd-memory.test.js dist/__tests__/cli-cmd-page-inspect.test.js dist/__tests__/cli-cmd-plan.test.js dist/__tests__/cli-cmd-project.test.js dist/__tests__/cli-cmd-rbac.test.js dist/__tests__/cli-cmd-realtime.test.js dist/__tests__/cli-cmd-records.test.js dist/__tests__/cli-cmd-relay.test.js dist/__tests__/cli-cmd-sandbox.test.js dist/__tests__/cli-cmd-add.test.js dist/__tests__/cli-cmd-skill.test.js dist/__tests__/cli-cmd-test.test.js dist/__tests__/cli-cmd-workflow.test.js dist/__tests__/setup-skills-block.test.js",
|
|
16
16
|
"test:e2e": "tsc && GIPITY_E2E=1 node --test --test-timeout=180000 dist/__tests__/cli-e2e-live.test.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|