@loxtep/sdk 0.2.3 → 0.3.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 +141 -0
- package/dist/authoring/agent.d.ts +164 -0
- package/dist/authoring/agent.d.ts.map +1 -0
- package/dist/authoring/agent.js +376 -0
- package/dist/authoring/agent.js.map +1 -0
- package/dist/authoring/compiler.d.ts +98 -0
- package/dist/authoring/compiler.d.ts.map +1 -0
- package/dist/authoring/compiler.js +156 -0
- package/dist/authoring/compiler.js.map +1 -0
- package/dist/authoring/define-data-workflow.d.ts +24 -0
- package/dist/authoring/define-data-workflow.d.ts.map +1 -0
- package/dist/authoring/define-data-workflow.js +93 -0
- package/dist/authoring/define-data-workflow.js.map +1 -0
- package/dist/authoring/index.d.ts +19 -0
- package/dist/authoring/index.d.ts.map +1 -0
- package/dist/authoring/index.js +15 -0
- package/dist/authoring/index.js.map +1 -0
- package/dist/authoring/toolbox.d.ts +133 -0
- package/dist/authoring/toolbox.d.ts.map +1 -0
- package/dist/authoring/toolbox.js +166 -0
- package/dist/authoring/toolbox.js.map +1 -0
- package/dist/authoring/triggers.d.ts +41 -0
- package/dist/authoring/triggers.d.ts.map +1 -0
- package/dist/authoring/triggers.js +60 -0
- package/dist/authoring/triggers.js.map +1 -0
- package/dist/authoring/types.d.ts +64 -0
- package/dist/authoring/types.d.ts.map +1 -0
- package/dist/authoring/types.js +9 -0
- package/dist/authoring/types.js.map +1 -0
- package/dist/cli/commands/activity-cmd.d.ts +28 -0
- package/dist/cli/commands/activity-cmd.d.ts.map +1 -0
- package/dist/cli/commands/activity-cmd.js +78 -0
- package/dist/cli/commands/activity-cmd.js.map +1 -0
- package/dist/cli/commands/attach-cmd.d.ts +38 -0
- package/dist/cli/commands/attach-cmd.d.ts.map +1 -0
- package/dist/cli/commands/attach-cmd.js +141 -0
- package/dist/cli/commands/attach-cmd.js.map +1 -0
- package/dist/cli/commands/deploy-cmd.d.ts +101 -0
- package/dist/cli/commands/deploy-cmd.d.ts.map +1 -0
- package/dist/cli/commands/deploy-cmd.js +461 -0
- package/dist/cli/commands/deploy-cmd.js.map +1 -0
- package/dist/cli/commands/generate-cmd.d.ts +35 -0
- package/dist/cli/commands/generate-cmd.d.ts.map +1 -0
- package/dist/cli/commands/generate-cmd.js +134 -0
- package/dist/cli/commands/generate-cmd.js.map +1 -0
- package/dist/cli/commands/improvements-cmd.d.ts +44 -0
- package/dist/cli/commands/improvements-cmd.d.ts.map +1 -0
- package/dist/cli/commands/improvements-cmd.js +215 -0
- package/dist/cli/commands/improvements-cmd.js.map +1 -0
- package/dist/cli/commands/init-cmd.d.ts +78 -0
- package/dist/cli/commands/init-cmd.d.ts.map +1 -0
- package/dist/cli/commands/init-cmd.js +250 -0
- package/dist/cli/commands/init-cmd.js.map +1 -0
- package/dist/cli/commands/test-cmd.d.ts +89 -0
- package/dist/cli/commands/test-cmd.d.ts.map +1 -0
- package/dist/cli/commands/test-cmd.js +378 -0
- package/dist/cli/commands/test-cmd.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +146 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-context.d.ts +153 -0
- package/dist/cli/project-context.d.ts.map +1 -0
- package/dist/cli/project-context.js +190 -0
- package/dist/cli/project-context.js.map +1 -0
- package/dist/client/activity-types.d.ts +66 -0
- package/dist/client/activity-types.d.ts.map +1 -0
- package/dist/client/activity-types.js +9 -0
- package/dist/client/activity-types.js.map +1 -0
- package/dist/client/activity.d.ts +22 -0
- package/dist/client/activity.d.ts.map +1 -0
- package/dist/client/activity.js +43 -0
- package/dist/client/activity.js.map +1 -0
- package/dist/client/data-products.d.ts.map +1 -1
- package/dist/client/data-products.js +4 -98
- package/dist/client/data-products.js.map +1 -1
- package/dist/client/flow-types.d.ts +4 -2
- package/dist/client/flow-types.d.ts.map +1 -1
- package/dist/client/flows.d.ts +1 -1
- package/dist/client/flows.d.ts.map +1 -1
- package/dist/client/flows.js +49 -124
- package/dist/client/flows.js.map +1 -1
- package/dist/client/improvements-types.d.ts +55 -0
- package/dist/client/improvements-types.d.ts.map +1 -0
- package/dist/client/improvements-types.js +9 -0
- package/dist/client/improvements-types.js.map +1 -0
- package/dist/client/improvements.d.ts +29 -0
- package/dist/client/improvements.d.ts.map +1 -0
- package/dist/client/improvements.js +50 -0
- package/dist/client/improvements.js.map +1 -0
- package/dist/client/index.d.ts +6 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/loxtep-client.d.ts +45 -0
- package/dist/client/loxtep-client.d.ts.map +1 -1
- package/dist/client/loxtep-client.js +68 -0
- package/dist/client/loxtep-client.js.map +1 -1
- package/dist/client/projects-types.d.ts +25 -0
- package/dist/client/projects-types.d.ts.map +1 -1
- package/dist/client/projects.d.ts +2 -1
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +17 -0
- package/dist/client/projects.js.map +1 -1
- package/dist/client/queue-types.d.ts +15 -2
- package/dist/client/queue-types.d.ts.map +1 -1
- package/dist/client/queues.d.ts.map +1 -1
- package/dist/client/queues.js +3 -14
- package/dist/client/queues.js.map +1 -1
- package/dist/codegen/emit.d.ts +25 -0
- package/dist/codegen/emit.d.ts.map +1 -0
- package/dist/codegen/emit.js +158 -0
- package/dist/codegen/emit.js.map +1 -0
- package/dist/codegen/index.d.ts +17 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +16 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/load-workspace-context.d.ts +30 -0
- package/dist/codegen/load-workspace-context.d.ts.map +1 -0
- package/dist/codegen/load-workspace-context.js +127 -0
- package/dist/codegen/load-workspace-context.js.map +1 -0
- package/dist/codegen/normalize.d.ts +35 -0
- package/dist/codegen/normalize.d.ts.map +1 -0
- package/dist/codegen/normalize.js +77 -0
- package/dist/codegen/normalize.js.map +1 -0
- package/dist/codegen/types.d.ts +89 -0
- package/dist/codegen/types.d.ts.map +1 -0
- package/dist/codegen/types.js +9 -0
- package/dist/codegen/types.js.map +1 -0
- package/dist/codegen/write-artifact.d.ts +40 -0
- package/dist/codegen/write-artifact.d.ts.map +1 -0
- package/dist/codegen/write-artifact.js +74 -0
- package/dist/codegen/write-artifact.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/workspace-config.d.ts +76 -0
- package/dist/config/workspace-config.d.ts.map +1 -0
- package/dist/config/workspace-config.js +129 -0
- package/dist/config/workspace-config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/rstreams/event-bridge.d.ts +16 -2
- package/dist/rstreams/event-bridge.d.ts.map +1 -1
- package/dist/rstreams/event-bridge.js +38 -5
- package/dist/rstreams/event-bridge.js.map +1 -1
- package/dist/skills/check-scope.d.ts +42 -0
- package/dist/skills/check-scope.d.ts.map +1 -0
- package/dist/skills/check-scope.js +84 -0
- package/dist/skills/check-scope.js.map +1 -0
- package/dist/skills/index.d.ts +14 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +12 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +79 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +102 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +55 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +9 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validate-references.d.ts +54 -0
- package/dist/skills/validate-references.d.ts.map +1 -0
- package/dist/skills/validate-references.js +80 -0
- package/dist/skills/validate-references.js.map +1 -0
- package/package.json +5 -3
package/dist/cli/index.js
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Loxtep CLI entry point.
|
|
4
4
|
* Usage: loxtep <command> [options]
|
|
5
|
-
* Commands: login, logout, whoami, init, config, bus, data-products, queue, flows, workflows, observe, connections, domains, standards, data-contracts
|
|
5
|
+
* Commands: login, logout, whoami, init, attach, config, bus, data-products, queue, flows, workflows, observe, connections, domains, standards, data-contracts
|
|
6
6
|
*/
|
|
7
7
|
import { runLogin } from './commands/login.js';
|
|
8
8
|
import { runLogout } from './commands/logout.js';
|
|
9
9
|
import { runWhoami } from './commands/whoami.js';
|
|
10
|
-
import {
|
|
10
|
+
import { runAttach } from './commands/attach-cmd.js';
|
|
11
|
+
import { runConfigList, runConfigPaths, runConfigSet, runConfigExportFromDataProduct, runConfigExportFromConnector, } from './commands/config-cmd.js';
|
|
12
|
+
import { runInitCommand } from './commands/init-cmd.js';
|
|
11
13
|
import { runBusLogin } from './commands/bus-cmd.js';
|
|
14
|
+
import { createCliClient } from './create-cli-client.js';
|
|
12
15
|
import { runDataProductsList, runDataProductsGet, runDataProductsQuery, runDataProductsTables, runDataProductsCreate, } from './commands/data-products-cmd.js';
|
|
13
16
|
import { runMetricsRateLimits, runMetricsLog } from './commands/metrics-cmd.js';
|
|
14
17
|
import { runQueueInfo, runQueueCheckpoint } from './commands/queue-cmd.js';
|
|
@@ -19,6 +22,11 @@ import { runConnectionsList, runConnectionsGet, runConnectionsCreate, runConnect
|
|
|
19
22
|
import { runDomainsList, runDomainsGet } from './commands/domains-cmd.js';
|
|
20
23
|
import { runStandardsList, runStandardsGet } from './commands/standards-cmd.js';
|
|
21
24
|
import { runDataContractsList, runDataContractsGet } from './commands/data-contracts-cmd.js';
|
|
25
|
+
import { runGenerate } from './commands/generate-cmd.js';
|
|
26
|
+
import { runTest } from './commands/test-cmd.js';
|
|
27
|
+
import { runDeploy } from './commands/deploy-cmd.js';
|
|
28
|
+
import { runImprovementsListCommand, runImprovementsApplyCommand, runImprovementsRejectCommand, } from './commands/improvements-cmd.js';
|
|
29
|
+
import { runActivityListCommand } from './commands/activity-cmd.js';
|
|
22
30
|
const args = process.argv.slice(2);
|
|
23
31
|
const command = args[0];
|
|
24
32
|
const sub = args[1];
|
|
@@ -35,6 +43,10 @@ Commands:
|
|
|
35
43
|
logout Remove stored credentials
|
|
36
44
|
whoami Print current user and organization
|
|
37
45
|
init Print setup checklist (config + auth + docs pointers)
|
|
46
|
+
attach [--instance <id>] Link project to an Instance (writes instance_id + api_url)
|
|
47
|
+
generate Generate typed workspace context artifact (.loxtep/generated/index.ts)
|
|
48
|
+
test <module> --event <file> Execute a workflow module locally with a sample event (prints action trace)
|
|
49
|
+
deploy Compile and deploy workflow modules to the attached Instance
|
|
38
50
|
config list Show current config (api_url, organization_id, project_id, instance_id)
|
|
39
51
|
config paths Show resolved URLs for auth and a full matrix of LoxtepClient SDK paths → gateway URLs
|
|
40
52
|
config set <k> <v> Set config key (api_url | auth_path_prefix | api_path_prefix | organization_id | …)
|
|
@@ -64,6 +76,10 @@ Commands:
|
|
|
64
76
|
standards get <id> Get standard by id
|
|
65
77
|
data-contracts list List data contracts
|
|
66
78
|
data-contracts get <id> Get data contract by id
|
|
79
|
+
improvements list [--status <s>] [--workflow <name>] List improvements
|
|
80
|
+
improvements apply <id> Apply proposed change to workflow module file
|
|
81
|
+
improvements reject <id> Reject an improvement
|
|
82
|
+
activity list [--source <s>] [--actor <a>] [--resource-type <t>] [--from <date>] [--to <date>] List activity/audit entries
|
|
67
83
|
|
|
68
84
|
Examples:
|
|
69
85
|
loxtep login
|
|
@@ -114,9 +130,60 @@ async function main() {
|
|
|
114
130
|
case 'whoami':
|
|
115
131
|
await runWhoami();
|
|
116
132
|
break;
|
|
117
|
-
case 'init':
|
|
118
|
-
|
|
133
|
+
case 'init': {
|
|
134
|
+
const templateIdx = args.indexOf('--template');
|
|
135
|
+
const templateSlug = templateIdx >= 0 ? args[templateIdx + 1] : undefined;
|
|
136
|
+
const createRepoIdx = args.indexOf('--create-repo');
|
|
137
|
+
const createRepo = createRepoIdx >= 0 ? (args[createRepoIdx + 1] || true) : undefined;
|
|
138
|
+
const fromRepoIdx = args.indexOf('--from-repo');
|
|
139
|
+
const fromRepo = fromRepoIdx >= 0 ? args[fromRepoIdx + 1] : undefined;
|
|
140
|
+
const nameIdx = args.indexOf('--name');
|
|
141
|
+
const name = nameIdx >= 0 ? args[nameIdx + 1] : undefined;
|
|
142
|
+
// Attempt to get an authenticated client (don't fail if not logged in)
|
|
143
|
+
const clientResult = await createCliClient().catch(() => null);
|
|
144
|
+
const client = clientResult?.client ?? null;
|
|
145
|
+
const result = await runInitCommand({
|
|
146
|
+
cwd: process.cwd(),
|
|
147
|
+
templateSlug,
|
|
148
|
+
createRepo,
|
|
149
|
+
fromRepo,
|
|
150
|
+
name,
|
|
151
|
+
client,
|
|
152
|
+
});
|
|
153
|
+
for (const line of result.stdout)
|
|
154
|
+
console.log(line);
|
|
155
|
+
for (const line of result.stderr)
|
|
156
|
+
console.error(line);
|
|
157
|
+
if (result.exitCode !== 0)
|
|
158
|
+
process.exitCode = result.exitCode;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
case 'generate':
|
|
162
|
+
await runGenerate();
|
|
163
|
+
break;
|
|
164
|
+
case 'test':
|
|
165
|
+
await runTest();
|
|
119
166
|
break;
|
|
167
|
+
case 'deploy':
|
|
168
|
+
await runDeploy();
|
|
169
|
+
break;
|
|
170
|
+
case 'attach': {
|
|
171
|
+
const { requireCliClient } = await import('./create-cli-client.js');
|
|
172
|
+
const authResult = await requireCliClient();
|
|
173
|
+
const attachResult = await runAttach(authResult.client, {
|
|
174
|
+
instanceId: getArg('--instance'),
|
|
175
|
+
});
|
|
176
|
+
if (attachResult.stdout.length > 0) {
|
|
177
|
+
attachResult.stdout.forEach(line => console.log(line));
|
|
178
|
+
}
|
|
179
|
+
if (attachResult.stderr.length > 0) {
|
|
180
|
+
attachResult.stderr.forEach(line => console.error(line));
|
|
181
|
+
}
|
|
182
|
+
if (attachResult.exitCode !== 0) {
|
|
183
|
+
process.exitCode = attachResult.exitCode;
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
120
187
|
case 'bus':
|
|
121
188
|
if (sub === 'login') {
|
|
122
189
|
await runBusLogin();
|
|
@@ -412,6 +479,81 @@ async function main() {
|
|
|
412
479
|
process.exitCode = 1;
|
|
413
480
|
}
|
|
414
481
|
break;
|
|
482
|
+
case 'improvements': {
|
|
483
|
+
const { requireCliClient: requireAuth } = await import('./create-cli-client.js');
|
|
484
|
+
const authResult = await requireAuth();
|
|
485
|
+
if (sub === 'list') {
|
|
486
|
+
const statusFilter = getArg('--status');
|
|
487
|
+
const workflowFilter = getArg('--workflow');
|
|
488
|
+
const result = await runImprovementsListCommand(authResult.client, {
|
|
489
|
+
status: statusFilter,
|
|
490
|
+
workflow_name: workflowFilter,
|
|
491
|
+
});
|
|
492
|
+
for (const line of result.stdout)
|
|
493
|
+
console.log(line);
|
|
494
|
+
for (const line of result.stderr)
|
|
495
|
+
console.error(line);
|
|
496
|
+
if (result.exitCode !== 0)
|
|
497
|
+
process.exitCode = result.exitCode;
|
|
498
|
+
}
|
|
499
|
+
else if (sub === 'apply' && args[2]) {
|
|
500
|
+
const result = await runImprovementsApplyCommand(authResult.client, args[2]);
|
|
501
|
+
for (const line of result.stdout)
|
|
502
|
+
console.log(line);
|
|
503
|
+
for (const line of result.stderr)
|
|
504
|
+
console.error(line);
|
|
505
|
+
if (result.exitCode !== 0)
|
|
506
|
+
process.exitCode = result.exitCode;
|
|
507
|
+
}
|
|
508
|
+
else if (sub === 'reject' && args[2]) {
|
|
509
|
+
const result = await runImprovementsRejectCommand(authResult.client, args[2]);
|
|
510
|
+
for (const line of result.stdout)
|
|
511
|
+
console.log(line);
|
|
512
|
+
for (const line of result.stderr)
|
|
513
|
+
console.error(line);
|
|
514
|
+
if (result.exitCode !== 0)
|
|
515
|
+
process.exitCode = result.exitCode;
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
console.error('Usage: loxtep improvements list [--status proposed|applied|rejected] [--workflow <name>]\n' +
|
|
519
|
+
' loxtep improvements apply <id>\n' +
|
|
520
|
+
' loxtep improvements reject <id>');
|
|
521
|
+
process.exitCode = 1;
|
|
522
|
+
}
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
case 'activity': {
|
|
526
|
+
const { requireCliClient: requireAuth } = await import('./create-cli-client.js');
|
|
527
|
+
const authResult = await requireAuth();
|
|
528
|
+
if (sub === 'list') {
|
|
529
|
+
const sourceFilter = getArg('--source');
|
|
530
|
+
const actorFilter = getArg('--actor');
|
|
531
|
+
const resourceTypeFilter = getArg('--resource-type');
|
|
532
|
+
const fromFilter = getArg('--from');
|
|
533
|
+
const toFilter = getArg('--to');
|
|
534
|
+
const limitStr = getArg('--limit');
|
|
535
|
+
const limit = limitStr != null ? parseInt(limitStr, 10) : undefined;
|
|
536
|
+
const result = await runActivityListCommand(authResult.client, {
|
|
537
|
+
source: sourceFilter,
|
|
538
|
+
actor: actorFilter,
|
|
539
|
+
resource_type: resourceTypeFilter,
|
|
540
|
+
from: fromFilter,
|
|
541
|
+
to: toFilter,
|
|
542
|
+
limit: limit != null && !Number.isNaN(limit) ? limit : undefined,
|
|
543
|
+
});
|
|
544
|
+
for (const line of result.stdout)
|
|
545
|
+
console.log(line);
|
|
546
|
+
for (const line of result.stderr)
|
|
547
|
+
console.error(line);
|
|
548
|
+
if (result.exitCode !== 0)
|
|
549
|
+
process.exitCode = result.exitCode;
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
console.error('Usage: loxtep activity list [--source cli|sdk|mcp|ui] [--actor <id>] [--resource-type <type>] [--from <date>] [--to <date>] [--limit <n>]');
|
|
553
|
+
process.exitCode = 1;
|
|
554
|
+
}
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
415
557
|
default:
|
|
416
558
|
console.error(`Unknown command: ${command}`);
|
|
417
559
|
printHelp();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACnC,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrD,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpD,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,QAAQ;YACX,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1D,uEAAuE;YACvE,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC;YAE5C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,YAAY;gBACZ,UAAU;gBACV,QAAQ;gBACR,IAAI;gBACJ,MAAM;aACP,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9D,MAAM;QACR,CAAC;QACD,KAAK,UAAU;YACb,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,MAAM;YACT,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,SAAS,EAAE,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE;gBACtD,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC3C,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,KAAK;YACR,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,MAAM,WAAW,EAAE,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,aAAa,EAAE,CAAC;YACxB,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC5C,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClC,MAAM,MAAM,GACV,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,IAA8B,CAAC;gBAC1F,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,4BAA4B,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBAChB,MAAM,8BAA8B,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CACX,uJAAuJ,CACxJ,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,gLAAgL,CACjL,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,eAAe;YAClB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,mBAAmB,EAAE,CAAC;YAC9B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,GAAG,GACP,OAAO,IAAI,CAAC;oBACV,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI;yBACD,KAAK,CAAC,CAAC,CAAC;yBACR,IAAI,CAAC,GAAG,CAAC;yBACT,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACjB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;wBACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC9D,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,EAAE,CAAC;oBACf,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CACX,8FAA8F,CAC/F,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAsC,CAAC;gBACnE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1E,OAAO,CAAC,KAAK,CACX,qHAAqH,CACtH,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,qBAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,kHAAkH,CACnH,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;oBACvF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,8EAA8E,CAC/E,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CACX,qFAAqF,CACtF,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,6EAA6E,CAC9E,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,OAAO,CAAC,KAAK,CACX,wGAAwG,CACzG,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,CAAC;wBACnB,IAAI;wBACJ,UAAU,EAAE,SAAS;wBACrB,WAAW,EAAE,UAAU;wBACvB,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,4HAA4H,CAC7H,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,gBAAgB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,kBAAkB,CAAC;wBACvB,UAAU,EAAE,SAAS;wBACrB,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,SAAS;wBACrB,cAAc,EAAE,KAAK;qBACtB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,iHAAiH,CAClH,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,kBAAkB,EAAE,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CACX,+GAA+G,CAChH,CAAC;oBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,oBAAoB,CAAC;wBACzB,IAAI;wBACJ,IAAI;wBACJ,GAAG;wBACH,IAAI,EAAE,IAAI,IAAI,IAAI;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,wGAAwG,CACzG,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,gBAAgB,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,oBAAoB,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,UAAU;YACb,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACzF,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,oBAAoB,EAAE,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAC;YACvC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,UAAU,CAAC,MAAM,EAAE;oBACjE,MAAM,EAAE,YAAY;oBACpB,aAAa,EAAE,cAAc;iBAC9B,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChE,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChE,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,4FAA4F;oBAC5F,yCAAyC;oBACzC,wCAAwC,CACzC,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,MAAM,WAAW,EAAE,CAAC;YACvC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACrD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,MAAM,EAAE;oBAC7D,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,WAAW;oBAClB,aAAa,EAAE,kBAAkB;oBACjC,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,2IAA2I,CAC5I,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,CAAC;QACD;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-local workspace context for the `loxtep` CLI lifecycle commands.
|
|
3
|
+
*
|
|
4
|
+
* Resolves `.loxtep/project.json` from the working directory upward and enforces
|
|
5
|
+
* the command-ordering preconditions shared by `generate` / `test` / `deploy`
|
|
6
|
+
* (and surfaced by `attach` / `init` / `improvements apply`):
|
|
7
|
+
*
|
|
8
|
+
* - {@link requireProject} fails with `NO_PROJECT` (R1.7) → "run loxtep init first".
|
|
9
|
+
* - {@link requireAttachedProject} fails with `NOT_ATTACHED` (R1.10) →
|
|
10
|
+
* "run loxtep attach first" when `instance_id`/`api_url` are not yet resolved.
|
|
11
|
+
*
|
|
12
|
+
* Writes go through the atomic build-validate-write-once {@link writeProjectConfig}
|
|
13
|
+
* helper used by `attach` / `generate` / `improvements apply`, so a failed command
|
|
14
|
+
* leaves the prior `.loxtep/project.json` bytes intact (R1.9, R17.2).
|
|
15
|
+
*
|
|
16
|
+
* All field names are snake_case per backend conventions.
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
/** Workspace config directory name: `.loxtep`. */
|
|
20
|
+
export declare const PROJECT_DIR_NAME = ".loxtep";
|
|
21
|
+
/** Workspace project file name: `project.json`. */
|
|
22
|
+
export declare const PROJECT_FILE_NAME = "project.json";
|
|
23
|
+
/**
|
|
24
|
+
* GitHub Project_Repository binding projected into `.loxtep/project.json` by
|
|
25
|
+
* `loxtep attach` when the project record is bound to a repository (R17.2).
|
|
26
|
+
* Absent entirely when the project is unbound (R17.3).
|
|
27
|
+
*/
|
|
28
|
+
export interface ProjectRepository {
|
|
29
|
+
/** Bound repository URL (`github_repo_url`). */
|
|
30
|
+
url: string;
|
|
31
|
+
/** Bound repository name (`github_repo_name`). */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Optional subpath within the repository (`github_repo_path`). */
|
|
34
|
+
subpath?: string;
|
|
35
|
+
/** Bound branch (`github_repo_branch`); defaults to `main` when unspecified (R17.1). */
|
|
36
|
+
branch: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Contents of `.loxtep/project.json`. `instance_id`/`api_url` are present only
|
|
40
|
+
* after a successful `loxtep attach`; `repository` is present only when the
|
|
41
|
+
* project is bound to a Project_Repository.
|
|
42
|
+
*/
|
|
43
|
+
export interface ProjectConfig {
|
|
44
|
+
/** Loxtep project identifier (required). */
|
|
45
|
+
project_id: string;
|
|
46
|
+
/** Owning organization identifier (optional). */
|
|
47
|
+
organization_id?: string;
|
|
48
|
+
/** Resolved Instance identifier; written by `attach`. */
|
|
49
|
+
instance_id?: string;
|
|
50
|
+
/** Resolved API base URL; written by `attach`. */
|
|
51
|
+
api_url?: string;
|
|
52
|
+
/** Template slug the project was scaffolded from, when applicable. */
|
|
53
|
+
template_slug?: string;
|
|
54
|
+
/** GitHub binding projection; present only for repo-bound projects (R17.2). */
|
|
55
|
+
repository?: ProjectRepository;
|
|
56
|
+
}
|
|
57
|
+
/** zod schema for `.loxtep/project.json`. Unknown keys are stripped on parse. */
|
|
58
|
+
export declare const ProjectConfigSchema: z.ZodObject<{
|
|
59
|
+
project_id: z.ZodString;
|
|
60
|
+
organization_id: z.ZodOptional<z.ZodString>;
|
|
61
|
+
instance_id: z.ZodOptional<z.ZodString>;
|
|
62
|
+
api_url: z.ZodOptional<z.ZodString>;
|
|
63
|
+
template_slug: z.ZodOptional<z.ZodString>;
|
|
64
|
+
repository: z.ZodOptional<z.ZodObject<{
|
|
65
|
+
url: z.ZodString;
|
|
66
|
+
name: z.ZodString;
|
|
67
|
+
subpath: z.ZodOptional<z.ZodString>;
|
|
68
|
+
branch: z.ZodDefault<z.ZodString>;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
/**
|
|
72
|
+
* A precondition failure for a lifecycle command. The thin `main()` maps each to
|
|
73
|
+
* a non-zero {@link CliResult.exitCode} and the message to stderr.
|
|
74
|
+
*/
|
|
75
|
+
export type PreconditionFailure = {
|
|
76
|
+
code: 'NO_PROJECT';
|
|
77
|
+
message: string;
|
|
78
|
+
} | {
|
|
79
|
+
code: 'NOT_ATTACHED';
|
|
80
|
+
message: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* The structured result every lifecycle command returns. `main()` maps
|
|
84
|
+
* `exitCode` to `process.exitCode`, making precondition and error-path
|
|
85
|
+
* requirements (R1.7–R1.11, R2.8) unit-testable without spawning processes.
|
|
86
|
+
*/
|
|
87
|
+
export interface CliResult {
|
|
88
|
+
/** Process exit code: 0 on success, non-zero on failure. */
|
|
89
|
+
exitCode: number;
|
|
90
|
+
/** Lines written to standard output. */
|
|
91
|
+
stdout: string[];
|
|
92
|
+
/** Lines written to standard error. */
|
|
93
|
+
stderr: string[];
|
|
94
|
+
}
|
|
95
|
+
/** Full path to `<projectDir>/.loxtep/project.json`. */
|
|
96
|
+
export declare function getProjectFilePath(projectDir: string): string;
|
|
97
|
+
/**
|
|
98
|
+
* Walk from `cwd` upward to the filesystem root, returning the first directory
|
|
99
|
+
* that contains a `.loxtep/project.json`, or `null` if none is found.
|
|
100
|
+
*/
|
|
101
|
+
export declare function findProjectDir(cwd: string): string | null;
|
|
102
|
+
export interface RequireProjectSuccess {
|
|
103
|
+
ok: true;
|
|
104
|
+
/** Directory that contains the `.loxtep/` folder. */
|
|
105
|
+
projectDir: string;
|
|
106
|
+
/** Full path to `.loxtep/project.json`. */
|
|
107
|
+
projectFilePath: string;
|
|
108
|
+
/** Parsed and validated project config. */
|
|
109
|
+
project: ProjectConfig;
|
|
110
|
+
}
|
|
111
|
+
export interface RequireProjectFailure {
|
|
112
|
+
ok: false;
|
|
113
|
+
failure: PreconditionFailure;
|
|
114
|
+
}
|
|
115
|
+
export type RequireProjectResult = RequireProjectSuccess | RequireProjectFailure;
|
|
116
|
+
/**
|
|
117
|
+
* Resolve and validate `.loxtep/project.json` searching from `cwd` upward.
|
|
118
|
+
*
|
|
119
|
+
* Returns `NO_PROJECT` (R1.7) when no project file exists in `cwd` or any parent,
|
|
120
|
+
* or when the file cannot be parsed/validated as a project config.
|
|
121
|
+
*/
|
|
122
|
+
export declare function requireProject(cwd: string): RequireProjectResult;
|
|
123
|
+
export interface RequireAttachedProjectSuccess {
|
|
124
|
+
ok: true;
|
|
125
|
+
projectDir: string;
|
|
126
|
+
projectFilePath: string;
|
|
127
|
+
project: ProjectConfig & {
|
|
128
|
+
instance_id: string;
|
|
129
|
+
api_url: string;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export type RequireAttachedProjectResult = RequireAttachedProjectSuccess | RequireProjectFailure;
|
|
133
|
+
/**
|
|
134
|
+
* Like {@link requireProject}, but additionally enforces that the project has
|
|
135
|
+
* been attached: returns `NOT_ATTACHED` (R1.10) when `instance_id` or `api_url`
|
|
136
|
+
* is missing. Used by `generate` / `test` / `deploy`.
|
|
137
|
+
*/
|
|
138
|
+
export declare function requireAttachedProject(cwd: string): RequireAttachedProjectResult;
|
|
139
|
+
/** Map a {@link PreconditionFailure} to a non-zero {@link CliResult}. */
|
|
140
|
+
export declare function preconditionToCliResult(failure: PreconditionFailure): CliResult;
|
|
141
|
+
/**
|
|
142
|
+
* Atomic build-validate-write-once writer for `.loxtep/project.json`.
|
|
143
|
+
*
|
|
144
|
+
* The caller builds the new config object in memory; this helper validates it
|
|
145
|
+
* (throwing {@link ValidationError} before touching disk when invalid), then
|
|
146
|
+
* writes it exactly once via a temp file + rename so a partial or failed write
|
|
147
|
+
* leaves the prior file bytes unchanged (R1.9, R17.2). Used by
|
|
148
|
+
* `attach` / `generate` / `improvements apply`.
|
|
149
|
+
*
|
|
150
|
+
* @returns the parsed config (with schema defaults applied, e.g. `repository.branch`).
|
|
151
|
+
*/
|
|
152
|
+
export declare function writeProjectConfig(filePath: string, config: unknown): Promise<ProjectConfig>;
|
|
153
|
+
//# sourceMappingURL=project-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-context.d.ts","sourceRoot":"","sources":["../../src/cli/project-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-local workspace context for the `loxtep` CLI lifecycle commands.
|
|
3
|
+
*
|
|
4
|
+
* Resolves `.loxtep/project.json` from the working directory upward and enforces
|
|
5
|
+
* the command-ordering preconditions shared by `generate` / `test` / `deploy`
|
|
6
|
+
* (and surfaced by `attach` / `init` / `improvements apply`):
|
|
7
|
+
*
|
|
8
|
+
* - {@link requireProject} fails with `NO_PROJECT` (R1.7) → "run loxtep init first".
|
|
9
|
+
* - {@link requireAttachedProject} fails with `NOT_ATTACHED` (R1.10) →
|
|
10
|
+
* "run loxtep attach first" when `instance_id`/`api_url` are not yet resolved.
|
|
11
|
+
*
|
|
12
|
+
* Writes go through the atomic build-validate-write-once {@link writeProjectConfig}
|
|
13
|
+
* helper used by `attach` / `generate` / `improvements apply`, so a failed command
|
|
14
|
+
* leaves the prior `.loxtep/project.json` bytes intact (R1.9, R17.2).
|
|
15
|
+
*
|
|
16
|
+
* All field names are snake_case per backend conventions.
|
|
17
|
+
*/
|
|
18
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
19
|
+
import { mkdir, writeFile, rename, rm } from 'node:fs/promises';
|
|
20
|
+
import { dirname, join, parse as parsePath } from 'node:path';
|
|
21
|
+
import { z } from 'zod';
|
|
22
|
+
import { ValidationError } from '../errors/validation.js';
|
|
23
|
+
/** Workspace config directory name: `.loxtep`. */
|
|
24
|
+
export const PROJECT_DIR_NAME = '.loxtep';
|
|
25
|
+
/** Workspace project file name: `project.json`. */
|
|
26
|
+
export const PROJECT_FILE_NAME = 'project.json';
|
|
27
|
+
const ProjectRepositorySchema = z.object({
|
|
28
|
+
url: z.string().min(1, 'repository.url is required'),
|
|
29
|
+
name: z.string().min(1, 'repository.name is required'),
|
|
30
|
+
subpath: z.string().optional(),
|
|
31
|
+
// Branch defaults to `main` when unspecified (R17.1).
|
|
32
|
+
branch: z.string().min(1).default('main'),
|
|
33
|
+
});
|
|
34
|
+
/** zod schema for `.loxtep/project.json`. Unknown keys are stripped on parse. */
|
|
35
|
+
export const ProjectConfigSchema = z.object({
|
|
36
|
+
project_id: z.string().min(1, 'project_id is required'),
|
|
37
|
+
organization_id: z.string().min(1).optional(),
|
|
38
|
+
instance_id: z.string().min(1).optional(),
|
|
39
|
+
api_url: z.string().min(1).optional(),
|
|
40
|
+
template_slug: z.string().min(1).optional(),
|
|
41
|
+
repository: ProjectRepositorySchema.optional(),
|
|
42
|
+
});
|
|
43
|
+
/** Guidance message for a missing project (R1.7). */
|
|
44
|
+
const NO_PROJECT_MESSAGE = 'No .loxtep/project.json found in this directory or any parent. Run `loxtep init` first.';
|
|
45
|
+
/** Guidance message for an unattached project (R1.10). */
|
|
46
|
+
const NOT_ATTACHED_MESSAGE = 'Project is not attached to an Instance (missing instance_id/api_url). Run `loxtep attach` first.';
|
|
47
|
+
function noProjectFailure(message = NO_PROJECT_MESSAGE) {
|
|
48
|
+
return { code: 'NO_PROJECT', message };
|
|
49
|
+
}
|
|
50
|
+
function notAttachedFailure(message = NOT_ATTACHED_MESSAGE) {
|
|
51
|
+
return { code: 'NOT_ATTACHED', message };
|
|
52
|
+
}
|
|
53
|
+
/** Full path to `<projectDir>/.loxtep/project.json`. */
|
|
54
|
+
export function getProjectFilePath(projectDir) {
|
|
55
|
+
return join(projectDir, PROJECT_DIR_NAME, PROJECT_FILE_NAME);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Walk from `cwd` upward to the filesystem root, returning the first directory
|
|
59
|
+
* that contains a `.loxtep/project.json`, or `null` if none is found.
|
|
60
|
+
*/
|
|
61
|
+
export function findProjectDir(cwd) {
|
|
62
|
+
let dir = cwd;
|
|
63
|
+
// Guard against an infinite loop: stop once `dirname` no longer changes (root).
|
|
64
|
+
for (;;) {
|
|
65
|
+
if (existsSync(getProjectFilePath(dir)))
|
|
66
|
+
return dir;
|
|
67
|
+
const parent = dirname(dir);
|
|
68
|
+
if (parent === dir || parsePath(dir).root === dir) {
|
|
69
|
+
// One last check at the root itself.
|
|
70
|
+
if (existsSync(getProjectFilePath(parent)))
|
|
71
|
+
return parent;
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
dir = parent;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Resolve and validate `.loxtep/project.json` searching from `cwd` upward.
|
|
79
|
+
*
|
|
80
|
+
* Returns `NO_PROJECT` (R1.7) when no project file exists in `cwd` or any parent,
|
|
81
|
+
* or when the file cannot be parsed/validated as a project config.
|
|
82
|
+
*/
|
|
83
|
+
export function requireProject(cwd) {
|
|
84
|
+
const projectDir = findProjectDir(cwd);
|
|
85
|
+
if (!projectDir) {
|
|
86
|
+
return { ok: false, failure: noProjectFailure() };
|
|
87
|
+
}
|
|
88
|
+
const projectFilePath = getProjectFilePath(projectDir);
|
|
89
|
+
let raw;
|
|
90
|
+
try {
|
|
91
|
+
raw = readFileSync(projectFilePath, 'utf-8');
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return {
|
|
95
|
+
ok: false,
|
|
96
|
+
failure: noProjectFailure(`Found ${projectFilePath} but it could not be read. Run \`loxtep init\` first.`),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
let parsedJson;
|
|
100
|
+
try {
|
|
101
|
+
parsedJson = JSON.parse(raw);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
failure: noProjectFailure(`${projectFilePath} is not valid JSON. Run \`loxtep init\` to recreate it.`),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const result = ProjectConfigSchema.safeParse(parsedJson);
|
|
110
|
+
if (!result.success) {
|
|
111
|
+
return {
|
|
112
|
+
ok: false,
|
|
113
|
+
failure: noProjectFailure(`${projectFilePath} is not a valid project config: ${summarizeIssues(result.error)}. Run \`loxtep init\` to recreate it.`),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return { ok: true, projectDir, projectFilePath, project: result.data };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Like {@link requireProject}, but additionally enforces that the project has
|
|
120
|
+
* been attached: returns `NOT_ATTACHED` (R1.10) when `instance_id` or `api_url`
|
|
121
|
+
* is missing. Used by `generate` / `test` / `deploy`.
|
|
122
|
+
*/
|
|
123
|
+
export function requireAttachedProject(cwd) {
|
|
124
|
+
const base = requireProject(cwd);
|
|
125
|
+
if (!base.ok)
|
|
126
|
+
return base;
|
|
127
|
+
const { project, projectDir, projectFilePath } = base;
|
|
128
|
+
if (typeof project.instance_id !== 'string' ||
|
|
129
|
+
project.instance_id.length === 0 ||
|
|
130
|
+
typeof project.api_url !== 'string' ||
|
|
131
|
+
project.api_url.length === 0) {
|
|
132
|
+
return { ok: false, failure: notAttachedFailure() };
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
ok: true,
|
|
136
|
+
projectDir,
|
|
137
|
+
projectFilePath,
|
|
138
|
+
project: { ...project, instance_id: project.instance_id, api_url: project.api_url },
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/** Map a {@link PreconditionFailure} to a non-zero {@link CliResult}. */
|
|
142
|
+
export function preconditionToCliResult(failure) {
|
|
143
|
+
return { exitCode: 1, stdout: [], stderr: [failure.message] };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Atomic build-validate-write-once writer for `.loxtep/project.json`.
|
|
147
|
+
*
|
|
148
|
+
* The caller builds the new config object in memory; this helper validates it
|
|
149
|
+
* (throwing {@link ValidationError} before touching disk when invalid), then
|
|
150
|
+
* writes it exactly once via a temp file + rename so a partial or failed write
|
|
151
|
+
* leaves the prior file bytes unchanged (R1.9, R17.2). Used by
|
|
152
|
+
* `attach` / `generate` / `improvements apply`.
|
|
153
|
+
*
|
|
154
|
+
* @returns the parsed config (with schema defaults applied, e.g. `repository.branch`).
|
|
155
|
+
*/
|
|
156
|
+
export async function writeProjectConfig(filePath, config) {
|
|
157
|
+
// 1. Validate the fully-built object before writing anything.
|
|
158
|
+
const result = ProjectConfigSchema.safeParse(config);
|
|
159
|
+
if (!result.success) {
|
|
160
|
+
throw new ValidationError('Invalid .loxtep/project.json contents', issuesToFieldErrors(result.error));
|
|
161
|
+
}
|
|
162
|
+
const validated = result.data;
|
|
163
|
+
const serialized = JSON.stringify(validated, null, 2);
|
|
164
|
+
// 2. Write once, atomically: temp file in the target directory, then rename.
|
|
165
|
+
const dir = dirname(filePath);
|
|
166
|
+
await mkdir(dir, { recursive: true });
|
|
167
|
+
const tmpPath = join(dir, `.${PROJECT_FILE_NAME}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
168
|
+
try {
|
|
169
|
+
await writeFile(tmpPath, serialized, 'utf-8');
|
|
170
|
+
await rename(tmpPath, filePath);
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
// Best-effort cleanup so a failed write never leaves a stray temp file.
|
|
174
|
+
await rm(tmpPath, { force: true }).catch(() => undefined);
|
|
175
|
+
throw err;
|
|
176
|
+
}
|
|
177
|
+
return validated;
|
|
178
|
+
}
|
|
179
|
+
function issuesToFieldErrors(error) {
|
|
180
|
+
return error.issues.map(issue => ({
|
|
181
|
+
field: issue.path.length > 0 ? issue.path.join('.') : '(root)',
|
|
182
|
+
message: issue.message,
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
function summarizeIssues(error) {
|
|
186
|
+
return issuesToFieldErrors(error)
|
|
187
|
+
.map(fe => `${fe.field}: ${fe.message}`)
|
|
188
|
+
.join('; ');
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=project-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../src/cli/project-context.ts"],"names":[],"mappings":"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"}
|