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.
Files changed (62) hide show
  1. package/README.md +4 -4
  2. package/dist/__tests__/cli-cmd-job.test.d.ts +1 -0
  3. package/dist/__tests__/cli-cmd-job.test.js +204 -0
  4. package/dist/__tests__/cli-cmd-job.test.js.map +1 -0
  5. package/dist/__tests__/cli-cmd-page.test.d.ts +1 -0
  6. package/dist/__tests__/cli-cmd-page.test.js +90 -0
  7. package/dist/__tests__/cli-cmd-page.test.js.map +1 -0
  8. package/dist/__tests__/cli-cmd-workflow.test.js +2 -2
  9. package/dist/__tests__/cli-cmd-workflow.test.js.map +1 -1
  10. package/dist/__tests__/flag-aliases.test.js +20 -0
  11. package/dist/__tests__/flag-aliases.test.js.map +1 -1
  12. package/dist/__tests__/template-vars.test.d.ts +1 -0
  13. package/dist/__tests__/template-vars.test.js +119 -0
  14. package/dist/__tests__/template-vars.test.js.map +1 -0
  15. package/dist/adopt-cwd.js +1 -0
  16. package/dist/adopt-cwd.js.map +1 -1
  17. package/dist/api.d.ts +6 -0
  18. package/dist/api.js +11 -0
  19. package/dist/api.js.map +1 -1
  20. package/dist/commands/add.js +139 -12
  21. package/dist/commands/add.js.map +1 -1
  22. package/dist/commands/credits.js +21 -0
  23. package/dist/commands/credits.js.map +1 -1
  24. package/dist/commands/job.d.ts +2 -0
  25. package/dist/commands/job.js +251 -0
  26. package/dist/commands/job.js.map +1 -0
  27. package/dist/commands/logs.js +79 -0
  28. package/dist/commands/logs.js.map +1 -1
  29. package/dist/commands/page-eval.d.ts +2 -0
  30. package/dist/commands/page-eval.js +31 -0
  31. package/dist/commands/page-eval.js.map +1 -0
  32. package/dist/commands/page-inspect.js +91 -62
  33. package/dist/commands/page-inspect.js.map +1 -1
  34. package/dist/commands/page-screenshot.js +1 -1
  35. package/dist/commands/page-screenshot.js.map +1 -1
  36. package/dist/commands/page.d.ts +2 -0
  37. package/dist/commands/page.js +18 -0
  38. package/dist/commands/page.js.map +1 -0
  39. package/dist/commands/project.js +1 -0
  40. package/dist/commands/project.js.map +1 -1
  41. package/dist/commands/workflow.js +63 -16
  42. package/dist/commands/workflow.js.map +1 -1
  43. package/dist/flag-aliases.d.ts +7 -2
  44. package/dist/flag-aliases.js +41 -2
  45. package/dist/flag-aliases.js.map +1 -1
  46. package/dist/index.js +5 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/knowledge.d.ts +3 -3
  49. package/dist/knowledge.js +13 -10
  50. package/dist/knowledge.js.map +1 -1
  51. package/dist/project-setup.d.ts +3 -0
  52. package/dist/project-setup.js +24 -0
  53. package/dist/project-setup.js.map +1 -1
  54. package/dist/prompts.d.ts +6 -6
  55. package/dist/prompts.js +6 -6
  56. package/dist/prompts.js.map +1 -1
  57. package/dist/setup.js +1 -1
  58. package/dist/setup.js.map +1 -1
  59. package/dist/template-vars.d.ts +32 -0
  60. package/dist/template-vars.js +156 -0
  61. package/dist/template-vars.js.map +1 -0
  62. package/package.json +3 -3
package/dist/setup.js CHANGED
@@ -54,7 +54,7 @@ export const PERMISSIONS_SETTINGS = {
54
54
  'Bash(gipity db list *)',
55
55
  'Bash(gipity db create *)',
56
56
  'Bash(gipity memory *)',
57
- 'Bash(gipity page-inspect *)',
57
+ 'Bash(gipity page *)',
58
58
  'Bash(gipity logs *)',
59
59
  'Bash(gipity sandbox *)',
60
60
  'Bash(gipity chat *)',
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface TemplateVars {
2
+ /** Project's short_guid — the canonical identifier used in all API URLs. */
3
+ projectGuid: string;
4
+ /** Project display name, e.g. "Caption Test 05". */
5
+ projectName: string;
6
+ /** Optional buyer-facing description, used for <meta> tags. */
7
+ description?: string;
8
+ }
9
+ /** Every placeholder the substitution recognises. Files that don't reference
10
+ * any of these stay untouched. Files that reference one we don't know
11
+ * trigger the test in `__tests__/template-vars.test.ts` so the gap surfaces
12
+ * loudly instead of shipping `{{X}}` literally. */
13
+ export declare const KNOWN_PLACEHOLDERS: readonly ["{{TITLE}}", "{{JS_TITLE}}", "{{PROJECT_GUID}}", "{{DATABASE}}", "{{DESCRIPTION_META}}", "{{OG_DESCRIPTION}}", "{{JSON_LD_BLOCK}}", "{{ANALYTICS_SCRIPT}}"];
14
+ /** Build the substitution map. Pure — easy to unit-test. */
15
+ export declare function buildTemplateVars(v: TemplateVars): Record<string, string>;
16
+ /** Pure string substitution — exported so the test can exercise it without
17
+ * touching the filesystem. */
18
+ export declare function substituteString(content: string, vars: Record<string, string>): string;
19
+ export interface SubstituteDirResult {
20
+ /** Files that contained at least one known placeholder and were rewritten. */
21
+ changed: string[];
22
+ /** Files that still contain a `{{...}}` pattern after substitution — these
23
+ * reference a placeholder we don't know about. Caller should warn. */
24
+ unresolved: {
25
+ path: string;
26
+ tokens: string[];
27
+ }[];
28
+ }
29
+ /** Walk `dir` (respecting the project's sync-ignore rules), substitute every
30
+ * known placeholder in text files, and write the result back. Files without
31
+ * placeholders are not touched. Files with unknown placeholders are logged. */
32
+ export declare function substituteDir(dir: string, vars: TemplateVars): Promise<SubstituteDirResult>;
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Resolve `{{PLACEHOLDER}}` tokens in local template files at `gipity init`
3
+ * time. Mirrors what `installTemplate` does server-side for `gipity add` —
4
+ * keeping the two flows in sync so a template installed via the dev/CLI
5
+ * path doesn't ship literal `{{PROJECT_GUID}}` strings to production.
6
+ *
7
+ * The placeholders + values match `installFromDisk` in
8
+ * `platform/server/src/services/template.ts`. When you add or rename a key
9
+ * there, mirror it here (and add a test).
10
+ */
11
+ import { promises as fs, readdirSync, statSync } from 'fs';
12
+ import { join, relative, extname } from 'path';
13
+ import { isSyncIgnored } from './setup.js';
14
+ /** File extensions we substitute in. Binaries (images, audio, fonts) are
15
+ * skipped. Anything outside this set is left untouched on disk. */
16
+ const SUBSTITUTABLE_EXTS = new Set([
17
+ '.html', '.htm',
18
+ '.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs',
19
+ '.css',
20
+ '.json',
21
+ '.yaml', '.yml',
22
+ '.md',
23
+ '.txt',
24
+ '.xml',
25
+ '.svg',
26
+ ]);
27
+ /** Every placeholder the substitution recognises. Files that don't reference
28
+ * any of these stay untouched. Files that reference one we don't know
29
+ * trigger the test in `__tests__/template-vars.test.ts` so the gap surfaces
30
+ * loudly instead of shipping `{{X}}` literally. */
31
+ export const KNOWN_PLACEHOLDERS = [
32
+ '{{TITLE}}',
33
+ '{{JS_TITLE}}',
34
+ '{{PROJECT_GUID}}',
35
+ '{{DATABASE}}',
36
+ '{{DESCRIPTION_META}}',
37
+ '{{OG_DESCRIPTION}}',
38
+ '{{JSON_LD_BLOCK}}',
39
+ '{{ANALYTICS_SCRIPT}}',
40
+ ];
41
+ function escapeHtml(s) {
42
+ return s
43
+ .replace(/&/g, '&amp;')
44
+ .replace(/</g, '&lt;')
45
+ .replace(/>/g, '&gt;')
46
+ .replace(/"/g, '&quot;')
47
+ .replace(/'/g, '&#39;');
48
+ }
49
+ function jsEscape(s) {
50
+ return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
51
+ }
52
+ /** Build the substitution map. Pure — easy to unit-test. */
53
+ export function buildTemplateVars(v) {
54
+ const safeTitle = escapeHtml(v.projectName);
55
+ const safeDesc = v.description ? escapeHtml(v.description) : '';
56
+ const slug = v.projectName.toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_|_$/g, '').slice(0, 30) || 'my_app';
57
+ const jsonLd = JSON.stringify({
58
+ '@context': 'https://schema.org',
59
+ '@type': 'WebApplication',
60
+ name: v.projectName,
61
+ ...(v.description ? { description: v.description } : {}),
62
+ }, null, 2).replace(/<\//g, '<\\/');
63
+ return {
64
+ '{{TITLE}}': safeTitle,
65
+ '{{JS_TITLE}}': jsEscape(v.projectName),
66
+ '{{PROJECT_GUID}}': v.projectGuid,
67
+ '{{DATABASE}}': slug,
68
+ '{{DESCRIPTION_META}}': v.description ? `\n <meta name="description" content="${safeDesc}">` : '',
69
+ '{{OG_DESCRIPTION}}': v.description ? `\n <meta property="og:description" content="${safeDesc}">` : '',
70
+ '{{JSON_LD_BLOCK}}': `<script type="application/ld+json">\n${jsonLd}\n </script>`,
71
+ '{{ANALYTICS_SCRIPT}}': `<script defer src="https://media.gipity.ai/client/v1/gipity.js" data-app="${v.projectGuid}"></script>`,
72
+ };
73
+ }
74
+ /** Pure string substitution — exported so the test can exercise it without
75
+ * touching the filesystem. */
76
+ export function substituteString(content, vars) {
77
+ let out = content;
78
+ for (const [key, value] of Object.entries(vars)) {
79
+ out = out.replaceAll(key, value);
80
+ }
81
+ return out;
82
+ }
83
+ /** Yield text-file relative paths under `root`, respecting isSyncIgnored.
84
+ * Inline because we want a simpler walker than sync.ts's (no baseline, no
85
+ * hashing) — just rel-paths we'll read+rewrite. */
86
+ function* walkTextFiles(root) {
87
+ const stack = [root];
88
+ while (stack.length) {
89
+ const dir = stack.pop();
90
+ let entries;
91
+ try {
92
+ entries = readdirSync(dir, { withFileTypes: true });
93
+ }
94
+ catch {
95
+ continue;
96
+ }
97
+ for (const entry of entries) {
98
+ if (isSyncIgnored(entry.name))
99
+ continue;
100
+ const full = join(dir, entry.name);
101
+ if (entry.isDirectory()) {
102
+ stack.push(full);
103
+ }
104
+ else if (entry.isFile()) {
105
+ try {
106
+ if (!statSync(full).isFile())
107
+ continue;
108
+ }
109
+ catch {
110
+ continue;
111
+ }
112
+ yield relative(root, full).replace(/\\/g, '/');
113
+ }
114
+ }
115
+ }
116
+ }
117
+ /** Walk `dir` (respecting the project's sync-ignore rules), substitute every
118
+ * known placeholder in text files, and write the result back. Files without
119
+ * placeholders are not touched. Files with unknown placeholders are logged. */
120
+ export async function substituteDir(dir, vars) {
121
+ const lookup = buildTemplateVars(vars);
122
+ const knownKeys = new Set(Object.keys(lookup));
123
+ const changed = [];
124
+ const unresolved = [];
125
+ for (const rel of walkTextFiles(dir)) {
126
+ const ext = extname(rel).toLowerCase();
127
+ if (!SUBSTITUTABLE_EXTS.has(ext))
128
+ continue;
129
+ const abs = join(dir, rel);
130
+ let content;
131
+ try {
132
+ content = await fs.readFile(abs, 'utf-8');
133
+ }
134
+ catch {
135
+ continue;
136
+ }
137
+ // Quick check before doing replacement work — most files don't have any.
138
+ if (!content.includes('{{'))
139
+ continue;
140
+ const next = substituteString(content, lookup);
141
+ if (next !== content) {
142
+ await fs.writeFile(abs, next, 'utf-8');
143
+ changed.push(rel);
144
+ }
145
+ // Flag any remaining `{{X}}` patterns whose key we don't know about —
146
+ // this is the test signal that the placeholder set is out of date.
147
+ const leftover = next.match(/\{\{[A-Z_]+\}\}/g);
148
+ if (leftover) {
149
+ const unknown = Array.from(new Set(leftover)).filter(k => !knownKeys.has(k));
150
+ if (unknown.length)
151
+ unresolved.push({ path: rel, tokens: unknown });
152
+ }
153
+ }
154
+ return { changed, unresolved };
155
+ }
156
+ //# sourceMappingURL=template-vars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-vars.js","sourceRoot":"","sources":["../src/template-vars.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.339",
4
- "description": "The agent-tuned platform where AI-built apps live. Hosting, databases, deploys, workflows, code execution, and monitoring - one place, agent-tuned. Pair with Claude Code or use standalone.",
3
+ "version": "1.0.355",
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.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": {