@enterpriseai/cli 3.15.10 → 3.16.0
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 +8 -2
- package/dist/commands/classifier.d.ts.map +1 -1
- package/dist/commands/classifier.js +4 -1
- package/dist/commands/classifier.js.map +1 -1
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +88 -31
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/init.d.ts +10 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +60 -16
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/start.d.ts +15 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +99 -40
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/agent-guide.js +2 -2
- package/dist/lib/agent-guide.js.map +1 -1
- package/dist/lib/ai-surface-installer.d.ts +38 -0
- package/dist/lib/ai-surface-installer.d.ts.map +1 -0
- package/dist/lib/ai-surface-installer.js +160 -0
- package/dist/lib/ai-surface-installer.js.map +1 -0
- package/dist/lib/ai-surfaces.d.ts +15 -0
- package/dist/lib/ai-surfaces.d.ts.map +1 -1
- package/dist/lib/ai-surfaces.js +155 -72
- package/dist/lib/ai-surfaces.js.map +1 -1
- package/dist/lib/api.d.ts +16 -2
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +43 -8
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/local-isolation.d.ts +30 -0
- package/dist/lib/local-isolation.d.ts.map +1 -0
- package/dist/lib/local-isolation.js +179 -0
- package/dist/lib/local-isolation.js.map +1 -0
- package/dist/lib/project-manifest.d.ts +1 -0
- package/dist/lib/project-manifest.d.ts.map +1 -1
- package/dist/lib/project-manifest.js +12 -6
- package/dist/lib/project-manifest.js.map +1 -1
- package/package.json +2 -2
- package/resources/gofer/.gofer-version +11 -1
- package/resources/gofer/bash-scripts/sync-implementation-status.sh +3 -4
- package/resources/gofer/references/platform/eai-service-patterns.md +84 -1
- package/resources/gofer/templates/visuals/capability-heatmap-template.md +2 -2
- package/resources/linked-sources.json +3 -2
package/README.md
CHANGED
|
@@ -290,8 +290,8 @@ route construction.
|
|
|
290
290
|
| `eai workflow readiness [keys...]` | Check tenant access, plan metadata, and optional workflow readiness together |
|
|
291
291
|
| `eai workflow status <key>` | Check whether an AI runtime workflow key is bound for the active tenant |
|
|
292
292
|
| `eai workflow request <key>` | Request operator-assisted workflow binding when a workflow is not ready yet |
|
|
293
|
-
| `eai docs upload <file>` |
|
|
294
|
-
| `eai docs classify <file>` |
|
|
293
|
+
| `eai docs upload <file>` | Submit once for full processing with authorised app/workflow or project context |
|
|
294
|
+
| `eai docs classify <file>` | Submit once for classification with paired `--vertical-key` and `--workflow-key`, or authorised project context |
|
|
295
295
|
| `eai docs index <id>` | Index a document for RAG |
|
|
296
296
|
|
|
297
297
|
### PublicAPI V4
|
|
@@ -584,6 +584,12 @@ provider startup or project handoff. In JSON, `launched` remains as an EAI Setup
|
|
|
584
584
|
contract for Setup 0.3.19, while current Setup explicitly requests v2 with
|
|
585
585
|
`--contract-version v2`.
|
|
586
586
|
|
|
587
|
+
Each graphical v2 entry reports its required CLI and verified installation
|
|
588
|
+
state. `eai start --surface <graphical-id> --install` quietly installs or
|
|
589
|
+
updates that CLI, then runs trusted detection again. A missing desktop app can
|
|
590
|
+
open its official page. If quiet installation cannot complete, EAI opens or
|
|
591
|
+
returns the official URL for visible password, consent, terms, or sign-in work.
|
|
592
|
+
|
|
587
593
|
`eai start --check` never executes a provider binary. Desktop detection binds
|
|
588
594
|
macOS/Windows signatures or Linux package ownership, architecture, repository,
|
|
589
595
|
and signing keys; unsigned Linux portable apps require catalogued immutable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA0B5C,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,UAAU,EAAE;QACV,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ID,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEpE;AAwTD,eAAO,MAAM,iBAAiB,SAgB3B,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* eai classifier — author, publish, and manage tenant workflow document classifiers.
|
|
3
3
|
*/
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
|
-
import { Command } from "commander";
|
|
5
|
+
import { Command, Option } from "commander";
|
|
6
6
|
import { parseApiError } from "../lib/api.js";
|
|
7
7
|
import { normalizeFormat, resolveCommandContext } from "../lib/context.js";
|
|
8
8
|
import * as out from "../lib/output.js";
|
|
@@ -281,6 +281,7 @@ async function targetClassifier(classifierKey, options) {
|
|
|
281
281
|
classifierVersion: requestedVersion,
|
|
282
282
|
verticalKey,
|
|
283
283
|
workflowKey,
|
|
284
|
+
...(options.documentLifecycle ? { documentLifecycle: options.documentLifecycle } : {}),
|
|
284
285
|
},
|
|
285
286
|
});
|
|
286
287
|
const targeted = await requireJson(response, "Classifier target association");
|
|
@@ -375,6 +376,8 @@ classifierCommand
|
|
|
375
376
|
.description("Associate a published classifier version with an app workflow")
|
|
376
377
|
.requiredOption("--app <app-key>", "Target app key")
|
|
377
378
|
.requiredOption("--workflow <workflow-key>", "Target workflow key")
|
|
379
|
+
.addOption(new Option("--document-lifecycle <profile>", "Document lifecycle for this app/workflow; omission preserves its existing setting")
|
|
380
|
+
.choices(["planning-assist-v1", "planning-assess-v1", "business-document-v1"]))
|
|
378
381
|
.option("--version <number>", "Published version (defaults to the draft pointer)")
|
|
379
382
|
.option("--tenant-id <id>", "Target tenant ID")
|
|
380
383
|
.option("--format <format>", "Output format: text or json", "text")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3E;AAED,eAAO,MAAM,WAAW,SAoBpB,CAAC"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -4,8 +4,19 @@
|
|
|
4
4
|
import { Command } from 'commander';
|
|
5
5
|
import ora from 'ora';
|
|
6
6
|
import chalk from 'chalk';
|
|
7
|
-
import { parseApiError } from '../lib/api.js';
|
|
8
|
-
import { resolveCommandContext } from '../lib/context.js';
|
|
7
|
+
import { parseApiError, validateDocumentUploadContext } from '../lib/api.js';
|
|
8
|
+
import { makeSpinner, resolveCommandContext } from '../lib/context.js';
|
|
9
|
+
import * as out from '../lib/output.js';
|
|
10
|
+
function addUploadOptions(command) {
|
|
11
|
+
return command
|
|
12
|
+
.option('--tenant-id <id>', 'Use a specific tenant with the current user login')
|
|
13
|
+
.option('--storage-target <target>', 'Curate storage target (resourceapi); requires app/workflow or project context')
|
|
14
|
+
.option('--business-request-id <id>', 'Existing authorized Curate business request')
|
|
15
|
+
.option('--planning-application-id <id>', 'Existing authorized Curate planning-application resource')
|
|
16
|
+
.option('--vertical-key <key>', 'App key for the published workflow classifier')
|
|
17
|
+
.option('--workflow-key <key>', 'Workflow key for the published classifier; requires --vertical-key')
|
|
18
|
+
.option('--format <format>', 'Output format (text|json)', 'text');
|
|
19
|
+
}
|
|
9
20
|
export async function readResponseError(response) {
|
|
10
21
|
const parsed = await parseApiError(response);
|
|
11
22
|
return [parsed.code, parsed.message]
|
|
@@ -16,58 +27,90 @@ export const docsCommand = new Command('docs')
|
|
|
16
27
|
.description('Document upload, classification, and indexing')
|
|
17
28
|
.addHelpText('after', `
|
|
18
29
|
Examples:
|
|
19
|
-
$ eai docs
|
|
20
|
-
$ eai docs classify ./reports/
|
|
21
|
-
$ eai docs
|
|
30
|
+
$ eai docs classify ./reports/contract.pdf --storage-target resourceapi --vertical-key business-docs --workflow-key review
|
|
31
|
+
$ eai docs classify ./reports/site-plan.pdf --storage-target resourceapi --planning-application-id <projectId>
|
|
32
|
+
$ eai docs upload ./reports/site-plan.pdf --storage-target resourceapi --planning-application-id <projectId>
|
|
22
33
|
|
|
23
34
|
Typical workflow:
|
|
24
|
-
1.
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
35
|
+
1. Configure and publish the app's document schemas and workflow classifier
|
|
36
|
+
2. Run classify once to upload and queue analysis, or upload for full processing
|
|
37
|
+
3. Poll the returned job ID and read the saved results; acceptance is not completion
|
|
38
|
+
|
|
39
|
+
Standalone documents require a business document lifecycle enabled on the
|
|
40
|
+
app/workflow binding. PublicAPI checks readiness and permissions before writing.
|
|
41
|
+
Do not invent a planning ID or repeat the upload when a job is still processing.
|
|
27
42
|
|
|
28
43
|
Use docs commands when the file is the subject of document processing or AI
|
|
29
44
|
context. Use "eai resources file" when the file is an attachment to a typed
|
|
30
45
|
resource object.
|
|
31
46
|
`);
|
|
32
47
|
// ─── eai docs upload ─────────────────────────────────────────────────────
|
|
33
|
-
docsCommand
|
|
48
|
+
addUploadOptions(docsCommand
|
|
34
49
|
.command('upload <file>')
|
|
35
|
-
.description('Upload a document')
|
|
36
|
-
.action(async (file) => {
|
|
37
|
-
const { client } = await resolveCommandContext();
|
|
50
|
+
.description('Upload a document'))
|
|
51
|
+
.action(async (file, options) => {
|
|
38
52
|
const { basename } = await import('node:path');
|
|
39
|
-
const spinner =
|
|
53
|
+
const spinner = makeSpinner(options.format || 'text', `Uploading ${basename(file)}...`);
|
|
40
54
|
try {
|
|
41
|
-
|
|
55
|
+
validateDocumentUploadContext(options);
|
|
56
|
+
const { client } = await resolveCommandContext({ tenantId: options.tenantId, interactive: !options.tenantId });
|
|
57
|
+
const res = await client.uploadDocument(file, options);
|
|
42
58
|
if (!res.ok) {
|
|
43
|
-
|
|
44
|
-
|
|
59
|
+
if (options.format === 'json') {
|
|
60
|
+
out.json({ ok: false, status: res.status, error: { message: await readResponseError(res) } });
|
|
61
|
+
process.exitCode = 1;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
throw new Error(await readResponseError(res));
|
|
45
65
|
}
|
|
46
66
|
const data = await res.json();
|
|
67
|
+
if (options.format === 'json') {
|
|
68
|
+
out.json({ ok: true, status: res.status, body: data });
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
47
71
|
const jobId = data.jobId || data.job_id;
|
|
48
72
|
const documentId = data.documents?.[0]?.documentId || data.documents?.[0]?.document_id;
|
|
49
|
-
|
|
73
|
+
const message = `Queued ${chalk.cyan(basename(file))} for upload${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`;
|
|
74
|
+
if (spinner)
|
|
75
|
+
spinner.succeed(message);
|
|
76
|
+
else
|
|
77
|
+
out.success(message);
|
|
50
78
|
}
|
|
51
79
|
catch (err) {
|
|
52
|
-
|
|
53
|
-
|
|
80
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
81
|
+
if (options.format === 'json')
|
|
82
|
+
out.json({ ok: false, error: { message } });
|
|
83
|
+
else if (spinner)
|
|
84
|
+
spinner.fail(message);
|
|
85
|
+
else
|
|
86
|
+
out.error(message);
|
|
87
|
+
process.exitCode = 1;
|
|
54
88
|
}
|
|
55
89
|
});
|
|
56
90
|
// ─── eai docs classify ───────────────────────────────────────────────────
|
|
57
|
-
docsCommand
|
|
91
|
+
addUploadOptions(docsCommand
|
|
58
92
|
.command('classify <file>')
|
|
59
|
-
.description('Classify a document')
|
|
60
|
-
.action(async (file) => {
|
|
61
|
-
const { client } = await resolveCommandContext();
|
|
93
|
+
.description('Classify a document'))
|
|
94
|
+
.action(async (file, options) => {
|
|
62
95
|
const { basename } = await import('node:path');
|
|
63
|
-
const spinner =
|
|
96
|
+
const spinner = makeSpinner(options.format || 'text', `Classifying ${basename(file)}...`);
|
|
64
97
|
try {
|
|
65
|
-
|
|
98
|
+
validateDocumentUploadContext(options);
|
|
99
|
+
const { client } = await resolveCommandContext({ tenantId: options.tenantId, interactive: !options.tenantId });
|
|
100
|
+
const res = await client.classifyDocument(file, options);
|
|
66
101
|
if (!res.ok) {
|
|
67
|
-
|
|
68
|
-
|
|
102
|
+
if (options.format === 'json') {
|
|
103
|
+
out.json({ ok: false, status: res.status, error: { message: await readResponseError(res) } });
|
|
104
|
+
process.exitCode = 1;
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
throw new Error(await readResponseError(res));
|
|
69
108
|
}
|
|
70
109
|
const data = await res.json();
|
|
110
|
+
if (options.format === 'json') {
|
|
111
|
+
out.json({ ok: true, status: res.status, body: data });
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
71
114
|
const jobId = data.jobId || data.job_id;
|
|
72
115
|
const documentId = data.documentId
|
|
73
116
|
|| data.recordId
|
|
@@ -78,14 +121,28 @@ docsCommand
|
|
|
78
121
|
const confidence = typeof data.classification.confidence === 'number'
|
|
79
122
|
? ` ${chalk.dim(`(${Math.round(data.classification.confidence * 100)}%)`)}`
|
|
80
123
|
: '';
|
|
81
|
-
|
|
124
|
+
const message = `Classified ${chalk.cyan(basename(file))} as ${chalk.cyan(data.classification.type)}${confidence}${documentId ? ` — ${chalk.dim(documentId)}` : ''}${jobId ? ` ${chalk.dim(`job ${jobId}`)}` : ''}`;
|
|
125
|
+
if (spinner)
|
|
126
|
+
spinner.succeed(message);
|
|
127
|
+
else
|
|
128
|
+
out.success(message);
|
|
82
129
|
return;
|
|
83
130
|
}
|
|
84
|
-
|
|
131
|
+
const message = `Queued ${chalk.cyan(basename(file))} for classification${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`;
|
|
132
|
+
if (spinner)
|
|
133
|
+
spinner.succeed(message);
|
|
134
|
+
else
|
|
135
|
+
out.success(message);
|
|
85
136
|
}
|
|
86
137
|
catch (err) {
|
|
87
|
-
|
|
88
|
-
|
|
138
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
139
|
+
if (options.format === 'json')
|
|
140
|
+
out.json({ ok: false, error: { message } });
|
|
141
|
+
else if (spinner)
|
|
142
|
+
spinner.fail(message);
|
|
143
|
+
else
|
|
144
|
+
out.error(message);
|
|
145
|
+
process.exitCode = 1;
|
|
89
146
|
}
|
|
90
147
|
});
|
|
91
148
|
// ─── eai docs index ──────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -11,10 +11,18 @@ export interface TemplateClonePlan {
|
|
|
11
11
|
readonly cloneSource: string;
|
|
12
12
|
readonly displaySource: string;
|
|
13
13
|
readonly pinnedCommit?: string;
|
|
14
|
+
readonly pinnedVersion?: string;
|
|
14
15
|
}
|
|
15
16
|
export declare function describeCloneFailure(templateSource: string, error: unknown): string;
|
|
16
17
|
export declare function isDefaultTemplateSource(templateSource: string): boolean;
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Validate a `--template-version` value before it reaches `git fetch`.
|
|
20
|
+
*
|
|
21
|
+
* Restricting the override to a release tag keeps arbitrary refs out of the
|
|
22
|
+
* fetch and guarantees the result is a revision the template actually published.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseTemplateVersionOverride(value: string): string;
|
|
25
|
+
export declare function resolveTemplateClonePlan(templateSource: string, versionOverride?: string): TemplateClonePlan;
|
|
18
26
|
/**
|
|
19
27
|
* `--from` accepts any GitHub repo or local path, and install runs after
|
|
20
28
|
* .env.local has been generated and hydrated. Only the canonical template is
|
|
@@ -40,6 +48,7 @@ export interface CreateCommandOptions {
|
|
|
40
48
|
install?: boolean;
|
|
41
49
|
packageProfile: string;
|
|
42
50
|
appKey?: string;
|
|
51
|
+
templateVersion?: string;
|
|
43
52
|
tool?: string;
|
|
44
53
|
splash?: boolean;
|
|
45
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BpC,OAAO,EAEL,0BAA0B,EAI3B,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AA0BvB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CA6BxE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAWhE;AAgBD,KAAK,YAAY,GACb,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -129,6 +129,7 @@ function buildInitialProjectManifest(templatePlan, packageProfile) {
|
|
|
129
129
|
},
|
|
130
130
|
template: {
|
|
131
131
|
repo: templatePlan.cloneSource,
|
|
132
|
+
version: templatePlan.pinnedVersion,
|
|
132
133
|
commit: templatePlan.pinnedCommit,
|
|
133
134
|
displaySource: templatePlan.displaySource,
|
|
134
135
|
initializedAt: new Date().toISOString(),
|
|
@@ -171,8 +172,25 @@ function loadLinkedSourcesManifest() {
|
|
|
171
172
|
export function isDefaultTemplateSource(templateSource) {
|
|
172
173
|
return templateSource === TEMPLATE_REPO;
|
|
173
174
|
}
|
|
174
|
-
|
|
175
|
+
const RELEASE_TAG_PATTERN = /^v\d+\.\d+\.\d+$/;
|
|
176
|
+
/**
|
|
177
|
+
* Validate a `--template-version` value before it reaches `git fetch`.
|
|
178
|
+
*
|
|
179
|
+
* Restricting the override to a release tag keeps arbitrary refs out of the
|
|
180
|
+
* fetch and guarantees the result is a revision the template actually published.
|
|
181
|
+
*/
|
|
182
|
+
export function parseTemplateVersionOverride(value) {
|
|
183
|
+
const trimmed = value.trim();
|
|
184
|
+
if (!RELEASE_TAG_PATTERN.test(trimmed)) {
|
|
185
|
+
throw new Error(`Template version "${value}" must be a published release tag such as v1.2.0.`);
|
|
186
|
+
}
|
|
187
|
+
return trimmed;
|
|
188
|
+
}
|
|
189
|
+
export function resolveTemplateClonePlan(templateSource, versionOverride) {
|
|
175
190
|
if (!isDefaultTemplateSource(templateSource)) {
|
|
191
|
+
if (versionOverride !== undefined) {
|
|
192
|
+
throw new Error("--template-version can only be used with the canonical eai-app-template source.");
|
|
193
|
+
}
|
|
176
194
|
return {
|
|
177
195
|
cloneSource: templateSource,
|
|
178
196
|
displaySource: describeTemplateSource(templateSource),
|
|
@@ -181,17 +199,28 @@ export function resolveTemplateClonePlan(templateSource) {
|
|
|
181
199
|
const linkedSources = loadLinkedSourcesManifest();
|
|
182
200
|
const cloneSource = linkedSources?.appTemplate?.repo || TEMPLATE_REPO;
|
|
183
201
|
const pinnedCommit = linkedSources?.appTemplate?.commit;
|
|
202
|
+
const pinnedVersion = versionOverride !== undefined
|
|
203
|
+
? parseTemplateVersionOverride(versionOverride)
|
|
204
|
+
: linkedSources?.appTemplate?.version;
|
|
205
|
+
// An explicit release override has no recorded SHA, so the tag itself becomes
|
|
206
|
+
// the fetch ref; the default path keeps fetching the immutable commit.
|
|
207
|
+
const resolvedCommit = versionOverride !== undefined ? undefined : pinnedCommit;
|
|
208
|
+
// The release tag names the revision; the commit is what is actually fetched,
|
|
209
|
+
// so a moved or deleted tag can never change what an existing pin resolves to.
|
|
210
|
+
const pinnedRef = pinnedVersion ?? resolvedCommit?.slice(0, 7);
|
|
184
211
|
return {
|
|
185
212
|
cloneSource,
|
|
186
|
-
pinnedCommit,
|
|
187
|
-
|
|
188
|
-
|
|
213
|
+
pinnedCommit: resolvedCommit,
|
|
214
|
+
pinnedVersion,
|
|
215
|
+
displaySource: pinnedRef
|
|
216
|
+
? `${TEMPLATE_REPO_LABEL}@${pinnedRef}`
|
|
189
217
|
: TEMPLATE_REPO_LABEL,
|
|
190
218
|
};
|
|
191
219
|
}
|
|
192
220
|
async function cloneTemplate(templateSource, targetDir, options = {}) {
|
|
193
|
-
const plan = resolveTemplateClonePlan(templateSource);
|
|
194
|
-
|
|
221
|
+
const plan = resolveTemplateClonePlan(templateSource, options.version);
|
|
222
|
+
const fetchRef = plan.pinnedCommit ?? plan.pinnedVersion;
|
|
223
|
+
if (!fetchRef) {
|
|
195
224
|
await exec("git", ["clone", "--depth", "1", plan.cloneSource, targetDir]);
|
|
196
225
|
return plan;
|
|
197
226
|
}
|
|
@@ -212,9 +241,18 @@ async function cloneTemplate(templateSource, targetDir, options = {}) {
|
|
|
212
241
|
"--depth",
|
|
213
242
|
"1",
|
|
214
243
|
"origin",
|
|
215
|
-
|
|
244
|
+
fetchRef,
|
|
216
245
|
]);
|
|
217
246
|
await exec("git", ["-C", targetDir, "checkout", "FETCH_HEAD"]);
|
|
247
|
+
if (plan.pinnedVersion && !plan.pinnedCommit) {
|
|
248
|
+
const { stdout } = await exec("git", [
|
|
249
|
+
"-C",
|
|
250
|
+
targetDir,
|
|
251
|
+
"rev-parse",
|
|
252
|
+
"HEAD",
|
|
253
|
+
]);
|
|
254
|
+
return { ...plan, pinnedCommit: stdout.trim() };
|
|
255
|
+
}
|
|
218
256
|
return plan;
|
|
219
257
|
}
|
|
220
258
|
catch (error) {
|
|
@@ -224,15 +262,15 @@ async function cloneTemplate(templateSource, targetDir, options = {}) {
|
|
|
224
262
|
}
|
|
225
263
|
await rm(targetDir, { recursive: true, force: true });
|
|
226
264
|
await exec("git", ["clone", plan.cloneSource, targetDir]);
|
|
227
|
-
await exec("git", ["-C", targetDir, "checkout",
|
|
265
|
+
await exec("git", ["-C", targetDir, "checkout", fetchRef]);
|
|
228
266
|
return plan;
|
|
229
267
|
}
|
|
230
268
|
}
|
|
231
|
-
async function copyTemplateIntoTargetDir(templateSource, targetDir) {
|
|
269
|
+
async function copyTemplateIntoTargetDir(templateSource, targetDir, version) {
|
|
232
270
|
const templateDir = await mkdtemp(join(tmpdir(), "eai-template-"));
|
|
233
271
|
try {
|
|
234
272
|
await chmod(templateDir, 0o700);
|
|
235
|
-
const plan = await cloneTemplate(templateSource, templateDir);
|
|
273
|
+
const plan = await cloneTemplate(templateSource, templateDir, { version });
|
|
236
274
|
await rm(join(templateDir, ".git"), { recursive: true, force: true });
|
|
237
275
|
// Current-directory init updates matching scaffold-managed files while
|
|
238
276
|
// preserving unrelated files and existing repository metadata.
|
|
@@ -286,6 +324,7 @@ export const initCommand = new Command("init")
|
|
|
286
324
|
.option("--display-name <name>", "Display name for the app")
|
|
287
325
|
.option("--description <description>", "One-sentence description for the app")
|
|
288
326
|
.option("--app-key <key>", "Bind the local project to an existing app instead of creating a new app")
|
|
327
|
+
.option("--template-version <tag>", "Scaffold from a specific published app-template release (for example v1.2.0)")
|
|
289
328
|
.option("--no-splash", "Skip the interactive EAI wordmark")
|
|
290
329
|
.addHelpText("after", `
|
|
291
330
|
Gofer AI CLI assets are installed by default:
|
|
@@ -295,9 +334,9 @@ Gofer AI CLI assets are installed by default:
|
|
|
295
334
|
.system/skills as a legacy Codex mirror
|
|
296
335
|
.github/prompts, .github/instructions, and .github/skills for GitHub Copilot
|
|
297
336
|
|
|
298
|
-
The default public template is pinned to
|
|
299
|
-
|
|
300
|
-
|
|
337
|
+
The default public template is pinned to a published eai-app-template release.
|
|
338
|
+
Use --template-version to select a different release, or --from to use another
|
|
339
|
+
repo or local path.
|
|
301
340
|
|
|
302
341
|
Use --no-gofer only when you need a bare app scaffold.
|
|
303
342
|
`)
|
|
@@ -409,14 +448,16 @@ Use --no-gofer only when you need a bare app scaffold.
|
|
|
409
448
|
out.blank();
|
|
410
449
|
// Step 1: Clone template
|
|
411
450
|
const cloneSpinner = startEaiStep("Cloning template...");
|
|
412
|
-
|
|
451
|
+
let templatePlan;
|
|
413
452
|
try {
|
|
453
|
+
templatePlan = resolveTemplateClonePlan(options.from, options.templateVersion);
|
|
414
454
|
if (targetUsesCurrentDir) {
|
|
415
|
-
await copyTemplateIntoTargetDir(options.from, targetDir);
|
|
455
|
+
templatePlan = await copyTemplateIntoTargetDir(options.from, targetDir, options.templateVersion);
|
|
416
456
|
}
|
|
417
457
|
else {
|
|
418
|
-
await cloneTemplate(options.from, targetDir, {
|
|
458
|
+
templatePlan = await cloneTemplate(options.from, targetDir, {
|
|
419
459
|
allowTargetRemoval: true,
|
|
460
|
+
version: options.templateVersion,
|
|
420
461
|
});
|
|
421
462
|
}
|
|
422
463
|
// Remove .git to start fresh
|
|
@@ -667,6 +708,7 @@ export const createCommand = new Command("create")
|
|
|
667
708
|
.option("--no-install", "Skip installing the generated app dependencies")
|
|
668
709
|
.option("--package-profile <profile>", "Package profile to record for block catalog discovery: external, internal, or hybrid", "external")
|
|
669
710
|
.option("--app-key <key>", "Bind the local project to an existing app instead of creating a new app")
|
|
711
|
+
.option("--template-version <tag>", "Scaffold from a specific published app-template release (for example v1.2.0)")
|
|
670
712
|
.option("--tool <tool>", "AI tool to prepare for: codex, claude, vscode, grok, or antigravity")
|
|
671
713
|
.option("--no-splash", "Skip the interactive EAI wordmark")
|
|
672
714
|
.addHelpText("after", `
|
|
@@ -769,6 +811,8 @@ export function buildForwardedInitArgs(nameArg, options, answers, tenantId) {
|
|
|
769
811
|
args.push("--company-tenant", companyTenant);
|
|
770
812
|
if (options.appKey)
|
|
771
813
|
args.push("--app-key", options.appKey);
|
|
814
|
+
if (options.templateVersion !== undefined)
|
|
815
|
+
args.push("--template-version", options.templateVersion);
|
|
772
816
|
if (options.parentTenant)
|
|
773
817
|
args.push("--parent-tenant", options.parentTenant);
|
|
774
818
|
if (options.childTenant)
|