apexrest 1.2.0 → 1.3.0-beta.1
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 +9 -3
- package/README.uk.md +9 -3
- package/dist/codex-compat/plugins/apexrest-apex/.codex-plugin/plugin.json +1 -1
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/generator.json +5 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/manifest.json +29 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/profiles.json +10 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/revocations.json +1 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/crm.yaml +172 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/index.json +12 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/service-desk.yaml +120 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/index.html +7 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.js +234 -2
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-allocation.schema.json +33 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-block.schema.json +208 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-blueprint.schema.json +664 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-command.schema.json +106 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-contract.schema.json +174 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-diagnostic.schema.json +26 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-entity.schema.json +141 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-evidence.schema.json +95 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-field.schema.json +53 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-instance.schema.json +117 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-lock.schema.json +54 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-operation.schema.json +55 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-owner.schema.json +105 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-parameters.schema.json +61 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-plan.schema.json +1010 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-renderer.schema.json +69 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-state.schema.json +146 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/deploy-plan.schema.json +760 -169
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/operations.schema.json +486 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/project.schema.json +13 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/sync-state.schema.json +238 -0
- package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yaml__LICENSE +13 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/apexrest.mjs +21 -11
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2BBNJVKW.mjs +1996 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-HOKFFGSZ.mjs → chunk-33GE2NWZ.mjs} +1 -1
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-5JI3XEAK.mjs +14 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-2ZUNLCLK.mjs → chunk-BAHECVGO.mjs} +30 -10
- package/dist/{runtime/chunk-SPZVXAM5.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-CYPFCUNE.mjs} +7 -4
- package/dist/{runtime/chunk-3MDDJFXN.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-EBBEN4AV.mjs} +29 -6
- package/dist/{runtime/chunk-NDZ2RWQU.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-ESDVN7DS.mjs} +3 -2
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-AQZLLQ3D.mjs → chunk-FTTPESNK.mjs} +2 -2
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-S24BD6PY.mjs → chunk-G3KR57BY.mjs} +1 -1
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-TXVQLYTH.mjs → chunk-HKJVCGQQ.mjs} +118 -87
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-WK5GP4ES.mjs → chunk-KQ5IDT7Z.mjs} +2 -2
- package/dist/{runtime/chunk-7RZW5QV2.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-RWGJITHZ.mjs} +5 -5
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-IX6V6ZGW.mjs → chunk-WXP75UUP.mjs} +5 -5
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YPLIIQ4Y.mjs +10233 -0
- package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-QIVPMPU3.mjs → chunk-YQHHPRJH.mjs} +1 -1
- package/dist/codex-compat/plugins/apexrest-apex/runtime/mcp.mjs +7 -7
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/SKILL.md +1 -1
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/SKILL.md +18 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/agents/openai.yaml +4 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/references/workflow.md +15 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/SKILL.md +3 -1
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/SKILL.md +3 -1
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/references/cli-catalog.md +8 -1
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/SKILL.md +2 -0
- package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/SKILL.md +3 -1
- package/dist/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
- package/dist/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
- package/dist/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
- package/dist/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
- package/dist/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
- package/dist/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
- package/dist/resources/blocks/generator.json +5 -0
- package/dist/resources/blocks/manifest.json +29 -0
- package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
- package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
- package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
- package/dist/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
- package/dist/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
- package/dist/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
- package/dist/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
- package/dist/resources/blocks/profiles.json +10 -0
- package/dist/resources/blocks/revocations.json +1 -0
- package/dist/resources/blueprints/crm.yaml +172 -0
- package/dist/resources/blueprints/index.json +12 -0
- package/dist/resources/blueprints/service-desk.yaml +120 -0
- package/dist/resources/panel/index.html +7 -0
- package/dist/resources/panel/panel.js +234 -2
- package/dist/resources/schemas/composer-allocation.schema.json +33 -0
- package/dist/resources/schemas/composer-block.schema.json +208 -0
- package/dist/resources/schemas/composer-blueprint.schema.json +664 -0
- package/dist/resources/schemas/composer-command.schema.json +106 -0
- package/dist/resources/schemas/composer-contract.schema.json +174 -0
- package/dist/resources/schemas/composer-diagnostic.schema.json +26 -0
- package/dist/resources/schemas/composer-entity.schema.json +141 -0
- package/dist/resources/schemas/composer-evidence.schema.json +95 -0
- package/dist/resources/schemas/composer-field.schema.json +53 -0
- package/dist/resources/schemas/composer-instance.schema.json +117 -0
- package/dist/resources/schemas/composer-lock.schema.json +54 -0
- package/dist/resources/schemas/composer-operation.schema.json +55 -0
- package/dist/resources/schemas/composer-owner.schema.json +105 -0
- package/dist/resources/schemas/composer-parameters.schema.json +61 -0
- package/dist/resources/schemas/composer-plan.schema.json +1010 -0
- package/dist/resources/schemas/composer-renderer.schema.json +69 -0
- package/dist/resources/schemas/composer-state.schema.json +146 -0
- package/dist/resources/schemas/deploy-plan.schema.json +760 -169
- package/dist/resources/schemas/operations.schema.json +486 -0
- package/dist/resources/schemas/project.schema.json +13 -0
- package/dist/resources/schemas/sync-state.schema.json +238 -0
- package/dist/resources/third-party/node_modules__yaml__LICENSE +13 -0
- package/dist/runtime/apexrest.mjs +21 -11
- package/dist/runtime/chunk-2BBNJVKW.mjs +1996 -0
- package/dist/runtime/{chunk-HOKFFGSZ.mjs → chunk-33GE2NWZ.mjs} +1 -1
- package/dist/runtime/chunk-5JI3XEAK.mjs +14 -0
- package/dist/runtime/{chunk-2ZUNLCLK.mjs → chunk-BAHECVGO.mjs} +30 -10
- package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-SPZVXAM5.mjs → runtime/chunk-CYPFCUNE.mjs} +7 -4
- package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-3MDDJFXN.mjs → runtime/chunk-EBBEN4AV.mjs} +29 -6
- package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-NDZ2RWQU.mjs → runtime/chunk-ESDVN7DS.mjs} +3 -2
- package/dist/runtime/{chunk-AQZLLQ3D.mjs → chunk-FTTPESNK.mjs} +2 -2
- package/dist/runtime/{chunk-S24BD6PY.mjs → chunk-G3KR57BY.mjs} +1 -1
- package/dist/runtime/{chunk-TXVQLYTH.mjs → chunk-HKJVCGQQ.mjs} +118 -87
- package/dist/runtime/{chunk-WK5GP4ES.mjs → chunk-KQ5IDT7Z.mjs} +2 -2
- package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-7RZW5QV2.mjs → runtime/chunk-RWGJITHZ.mjs} +5 -5
- package/dist/runtime/{chunk-IX6V6ZGW.mjs → chunk-WXP75UUP.mjs} +5 -5
- package/dist/runtime/chunk-YPLIIQ4Y.mjs +10233 -0
- package/dist/runtime/{chunk-QIVPMPU3.mjs → chunk-YQHHPRJH.mjs} +1 -1
- package/dist/runtime/mcp.mjs +7 -7
- package/package.json +10 -3
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-4MYHJ2IU.mjs +0 -1208
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-BD2AVCFU.mjs +0 -367
- package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YLXJ6H4J.mjs +0 -14
- package/dist/runtime/chunk-4MYHJ2IU.mjs +0 -1208
- package/dist/runtime/chunk-BD2AVCFU.mjs +0 -367
- package/dist/runtime/chunk-YLXJ6H4J.mjs +0 -14
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
startMcp
|
|
4
|
+
} from "./chunk-BAHECVGO.mjs";
|
|
5
|
+
import "./chunk-HKJVCGQQ.mjs";
|
|
6
|
+
import "./chunk-FTTPESNK.mjs";
|
|
7
|
+
import "./chunk-2BBNJVKW.mjs";
|
|
8
|
+
import "./chunk-YPLIIQ4Y.mjs";
|
|
9
|
+
import "./chunk-G3KR57BY.mjs";
|
|
10
|
+
import "./chunk-EBBEN4AV.mjs";
|
|
11
|
+
import "./chunk-2Z3BZF66.mjs";
|
|
12
|
+
export {
|
|
13
|
+
startMcp
|
|
14
|
+
};
|
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
dispatch,
|
|
4
4
|
schemas,
|
|
5
5
|
toolCatalog
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HKJVCGQQ.mjs";
|
|
7
7
|
import {
|
|
8
8
|
panelDocument
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FTTPESNK.mjs";
|
|
10
10
|
import {
|
|
11
11
|
JobService
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2BBNJVKW.mjs";
|
|
13
13
|
import {
|
|
14
14
|
ArtifactService
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YPLIIQ4Y.mjs";
|
|
16
16
|
import {
|
|
17
17
|
VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-G3KR57BY.mjs";
|
|
19
19
|
import {
|
|
20
20
|
AjvJsonSchemaValidator,
|
|
21
21
|
CallToolRequestSchema,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
parse,
|
|
50
50
|
safeParse,
|
|
51
51
|
serializeMessage
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-EBBEN4AV.mjs";
|
|
53
53
|
import {
|
|
54
54
|
Fault,
|
|
55
55
|
failure,
|
|
@@ -747,13 +747,24 @@ function preview(value, depth = 0) {
|
|
|
747
747
|
"scope",
|
|
748
748
|
"compiler",
|
|
749
749
|
"approval",
|
|
750
|
-
"backupRequired"
|
|
750
|
+
"backupRequired",
|
|
751
|
+
"mode",
|
|
752
|
+
"backupStrategy",
|
|
753
|
+
"syncId",
|
|
754
|
+
"revision",
|
|
755
|
+
"exportedAt",
|
|
756
|
+
"dirty",
|
|
757
|
+
"blocked",
|
|
758
|
+
"blockedReason",
|
|
759
|
+
"serverFreshness",
|
|
760
|
+
"backupId",
|
|
761
|
+
"importingRunId"
|
|
751
762
|
]) {
|
|
752
763
|
const entry = data[key];
|
|
753
764
|
if (["string", "number", "boolean"].includes(typeof entry))
|
|
754
765
|
result[key] = typeof entry === "string" ? entry.slice(0, 400) : entry;
|
|
755
766
|
}
|
|
756
|
-
for (const key of ["jobs", "deployments", "diagnostics", "artifacts", "verification"])
|
|
767
|
+
for (const key of ["sync", "jobs", "deployments", "diagnostics", "artifacts", "verification"])
|
|
757
768
|
if (Array.isArray(data[key])) result[key + "Count"] = data[key].length;
|
|
758
769
|
if (Array.isArray(data.diagnostics))
|
|
759
770
|
result.diagnostics = data.diagnostics.slice(0, 2).map(
|
|
@@ -766,6 +777,9 @@ function preview(value, depth = 0) {
|
|
|
766
777
|
result[key] = data[key].slice(0, 4).map((entry) => String(entry).slice(0, 200));
|
|
767
778
|
result[key + "Omitted"] = Math.max(0, data[key].length - 4);
|
|
768
779
|
}
|
|
780
|
+
if (data.lastSuccessfulImport && typeof data.lastSuccessfulImport === "object")
|
|
781
|
+
result.lastSuccessfulImport = data.lastSuccessfulImport;
|
|
782
|
+
if (data.workingCopy && typeof data.workingCopy === "object") result.workingCopy = data.workingCopy;
|
|
769
783
|
if (depth < 2 && data.result && typeof data.result === "object")
|
|
770
784
|
result.result = preview(data.result, depth + 1);
|
|
771
785
|
if (data.operation === "deploy.plan" && data.data && depth < 2) result.data = preview(data.data, depth + 1);
|
|
@@ -953,7 +967,9 @@ var absoluteProject = external_exports.string().min(1).max(4096).refine(
|
|
|
953
967
|
var mcpSchemas = /* @__PURE__ */ new Map();
|
|
954
968
|
for (const { operation, long } of toolCatalog) {
|
|
955
969
|
const schema = schemas[operation];
|
|
956
|
-
const transportSchema = "project" in schema.shape ? schema.extend({
|
|
970
|
+
const transportSchema = "project" in schema.shape ? schema.extend({
|
|
971
|
+
project: operation === "doctor" || operation.startsWith("docs.") ? absoluteProject.optional() : absoluteProject
|
|
972
|
+
}) : schema;
|
|
957
973
|
mcpSchemas.set(operation, long ? transportSchema.extend({ waitSeconds: jobWaitSeconds }) : transportSchema);
|
|
958
974
|
}
|
|
959
975
|
async function startMcp() {
|
|
@@ -998,6 +1014,8 @@ async function startMcp() {
|
|
|
998
1014
|
destructiveHint: t.destructive ?? !t.readOnly,
|
|
999
1015
|
idempotentHint: t.readOnly,
|
|
1000
1016
|
openWorldHint: ![
|
|
1017
|
+
"compose.plan",
|
|
1018
|
+
"compose.materialize",
|
|
1001
1019
|
"doctor",
|
|
1002
1020
|
"docs.search",
|
|
1003
1021
|
"docs.read",
|
|
@@ -1018,7 +1036,9 @@ async function startMcp() {
|
|
|
1018
1036
|
if (!tool) throw new Fault("UNKNOWN_TOOL", "Tool is not in the catalog.", 2);
|
|
1019
1037
|
const input = parse(mcpSchemas.get(tool.operation), request.params.arguments ?? {});
|
|
1020
1038
|
project = typeof input.project === "string" ? input.project : void 0;
|
|
1021
|
-
|
|
1039
|
+
const localSync = tool.operation === "apex.sync" && input.action === "status";
|
|
1040
|
+
if (localSync) delete input.waitSeconds;
|
|
1041
|
+
result = tool.long && !localSync ? jobToolResult(
|
|
1022
1042
|
tool.operation,
|
|
1023
1043
|
await runJobTool(
|
|
1024
1044
|
new JobService(await loadProject(String(input.project))),
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-TLYYCRQA.mjs";
|
|
7
7
|
import {
|
|
8
8
|
PanelService
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-2BBNJVKW.mjs";
|
|
10
|
+
import "./chunk-YPLIIQ4Y.mjs";
|
|
11
|
+
import "./chunk-G3KR57BY.mjs";
|
|
12
|
+
import "./chunk-EBBEN4AV.mjs";
|
|
13
13
|
import {
|
|
14
14
|
Fault
|
|
15
15
|
} from "./chunk-2Z3BZF66.mjs";
|
|
@@ -40,6 +40,9 @@ function panelLines(data, tab) {
|
|
|
40
40
|
...data.jobs.flatMap((job) => [`${job.operation} \xB7 ${job.status}`, job.summary]),
|
|
41
41
|
...data.jobs.length ? [] : ["No operation jobs recorded."],
|
|
42
42
|
"",
|
|
43
|
+
"WORKING-COPY SYNC (local only)",
|
|
44
|
+
...data.sync.flatMap((row) => [row.environment + " \xB7 " + row.status, JSON.stringify(row)]),
|
|
45
|
+
"",
|
|
43
46
|
"DEPLOYMENT & IMPORT JOURNAL",
|
|
44
47
|
...data.deployments.flatMap((run) => [run.status + " \xB7 " + run.at, run.details]),
|
|
45
48
|
"",
|
|
@@ -28745,6 +28745,7 @@ var projectSchema = external_exports.strictObject({
|
|
|
28745
28745
|
defaultBrowser: external_exports.literal("chromium"),
|
|
28746
28746
|
mutationAllowedEnvironments: external_exports.array(refName)
|
|
28747
28747
|
}),
|
|
28748
|
+
composer: external_exports.strictObject({ allowSourceOnly: external_exports.boolean().default(false) }).optional(),
|
|
28748
28749
|
artifacts: external_exports.strictObject({ directory: relativePath, retentionDays: external_exports.number().int().min(1).max(365) })
|
|
28749
28750
|
});
|
|
28750
28751
|
var managedHome = () => path.resolve(process.env.APEXREST_HOME ?? path.join(homedir(), ".apexrest"));
|
|
@@ -33195,7 +33196,7 @@ connect -orest -user "${selected.ords.username}" -password "${selected.ords.pass
|
|
|
33195
33196
|
};
|
|
33196
33197
|
}
|
|
33197
33198
|
async exportApplication(env, connection, format = "APEXLANG") {
|
|
33198
|
-
await this.requireCapability("export");
|
|
33199
|
+
const compiler = await this.requireCapability("export");
|
|
33199
33200
|
const stage = await this.stage();
|
|
33200
33201
|
const ords = (await this.settings()).databaseTransport === "ords";
|
|
33201
33202
|
const exportRoot = ords ? path5.join(stage, "export") : stage;
|
|
@@ -33225,7 +33226,7 @@ connect -orest -user "${selected.ords.username}" -password "${selected.ords.pass
|
|
|
33225
33226
|
const files = await inventory(directory);
|
|
33226
33227
|
if (!Object.keys(files).length || format === "SQL" && !Object.keys(files).some((f2) => f2.endsWith(".sql")))
|
|
33227
33228
|
throw new Fault("EMPTY_BACKUP", "Oracle export produced no usable files.", 1);
|
|
33228
|
-
return { directory, files, digest: hash(canonical(files)), format, output: result.output };
|
|
33229
|
+
return { directory, files, digest: hash(canonical(files)), format, compiler, output: result.output };
|
|
33229
33230
|
}
|
|
33230
33231
|
async savedConnections(signal) {
|
|
33231
33232
|
const marker = `APEXREST_CONNECTIONS_${randomUUID().replaceAll("-", "")}`;
|
|
@@ -33356,6 +33357,28 @@ ${sql};`,
|
|
|
33356
33357
|
);
|
|
33357
33358
|
return { identity, workspace: workspaces[0], application: applications[0] ?? null };
|
|
33358
33359
|
}
|
|
33360
|
+
async applicationMetadata(env, connection) {
|
|
33361
|
+
const rows = await this.jsonQuery(
|
|
33362
|
+
`select to_char(last_updated_on, 'YYYY-MM-DD"T"HH24:MI:SS', 'NLS_DATE_LANGUAGE=American') last_updated_on,
|
|
33363
|
+
last_updated_by from apex_applications
|
|
33364
|
+
where application_id = :p_app_id and workspace = :p_workspace and owner = :p_owner`,
|
|
33365
|
+
connection,
|
|
33366
|
+
{ p_app_id: env.applicationId, p_workspace: env.workspace, p_owner: env.parsingSchema }
|
|
33367
|
+
);
|
|
33368
|
+
if (rows.length !== 1 || !Object.hasOwn(rows[0], "last_updated_on") || !Object.hasOwn(rows[0], "last_updated_by"))
|
|
33369
|
+
throw new Fault(
|
|
33370
|
+
"SYNC_METADATA_UNCONFIRMED",
|
|
33371
|
+
"Application update metadata is absent or inaccessible.",
|
|
33372
|
+
5
|
|
33373
|
+
);
|
|
33374
|
+
const row = rows[0];
|
|
33375
|
+
if ([row.last_updated_on, row.last_updated_by].some((v2) => v2 !== null && typeof v2 !== "string"))
|
|
33376
|
+
throw new Fault("SYNC_METADATA_UNCONFIRMED", "Unexpected application update metadata.", 5);
|
|
33377
|
+
return {
|
|
33378
|
+
lastUpdatedOn: row.last_updated_on,
|
|
33379
|
+
lastUpdatedBy: row.last_updated_by
|
|
33380
|
+
};
|
|
33381
|
+
}
|
|
33359
33382
|
async nativeDeployment(ctx, env, source) {
|
|
33360
33383
|
const output2 = path5.join(await this.stage(), "deployment.json");
|
|
33361
33384
|
const defaults = path5.join(source, "deployments/default.json");
|
|
@@ -37025,7 +37048,6 @@ var ToolchainService = class {
|
|
|
37025
37048
|
};
|
|
37026
37049
|
|
|
37027
37050
|
export {
|
|
37028
|
-
runProcess,
|
|
37029
37051
|
external_exports,
|
|
37030
37052
|
identifier,
|
|
37031
37053
|
refName,
|
|
@@ -37043,6 +37065,7 @@ export {
|
|
|
37043
37065
|
resolveConnection,
|
|
37044
37066
|
editConnection,
|
|
37045
37067
|
configureConnection,
|
|
37068
|
+
runProcess,
|
|
37046
37069
|
sqlclMode,
|
|
37047
37070
|
sqlclRestriction,
|
|
37048
37071
|
databaseTransport,
|
|
@@ -37096,13 +37119,13 @@ export {
|
|
|
37096
37119
|
ReadBuffer,
|
|
37097
37120
|
serializeMessage,
|
|
37098
37121
|
StdioClientTransport,
|
|
37122
|
+
resourceRoot,
|
|
37123
|
+
projectInit,
|
|
37124
|
+
projectInspect,
|
|
37099
37125
|
sqlclToken,
|
|
37100
37126
|
sqlLiteral,
|
|
37101
37127
|
OracleAdapter,
|
|
37102
37128
|
installSources,
|
|
37103
|
-
resourceRoot,
|
|
37104
|
-
projectInit,
|
|
37105
|
-
projectInspect,
|
|
37106
37129
|
lockSchema,
|
|
37107
37130
|
runtimeState,
|
|
37108
37131
|
platformProfile,
|
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
browserInstructions,
|
|
4
4
|
externalBrowserCommand,
|
|
5
5
|
openVerificationBrowser
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-YPLIIQ4Y.mjs";
|
|
7
|
+
import "./chunk-G3KR57BY.mjs";
|
|
8
|
+
import "./chunk-EBBEN4AV.mjs";
|
|
8
9
|
import "./chunk-2Z3BZF66.mjs";
|
|
9
10
|
export {
|
|
10
11
|
browserInstructions,
|
|
@@ -2,11 +2,11 @@ import { createRequire as __createRequire } from 'node:module'; const require =
|
|
|
2
2
|
import {
|
|
3
3
|
PanelService,
|
|
4
4
|
panelActionSchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2BBNJVKW.mjs";
|
|
6
6
|
import {
|
|
7
7
|
parse,
|
|
8
8
|
resourceRoot
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EBBEN4AV.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Fault,
|
|
12
12
|
contained,
|
|
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from 'node:module'; const require =
|
|
|
3
3
|
// plugins/metadata.json
|
|
4
4
|
var metadata_default = {
|
|
5
5
|
name: "apexrest-apex",
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.3.0-beta.1",
|
|
7
7
|
description: "Develop, deploy and test Oracle APEX applications with Codex.",
|
|
8
8
|
author: {
|
|
9
9
|
name: "APEXREST",
|
|
@@ -2,18 +2,28 @@ import { createRequire as __createRequire } from 'node:module'; const require =
|
|
|
2
2
|
import {
|
|
3
3
|
JobService,
|
|
4
4
|
PanelService,
|
|
5
|
+
composeMaterialize,
|
|
6
|
+
composeMaterializeInput,
|
|
7
|
+
composePlan,
|
|
8
|
+
composePlanInput,
|
|
9
|
+
metadataInputSchema,
|
|
10
|
+
metadataRead,
|
|
5
11
|
panelActionSchema,
|
|
6
12
|
panelReadSchema,
|
|
7
13
|
publicPanelActionSchema
|
|
8
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2BBNJVKW.mjs";
|
|
9
15
|
import {
|
|
10
16
|
ArtifactService,
|
|
11
17
|
DeploymentService,
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
SyncStore,
|
|
19
|
+
TestService,
|
|
20
|
+
catalogRead,
|
|
21
|
+
catalogSearch,
|
|
22
|
+
checkpoint
|
|
23
|
+
} from "./chunk-YPLIIQ4Y.mjs";
|
|
14
24
|
import {
|
|
15
25
|
VERSION
|
|
16
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-G3KR57BY.mjs";
|
|
17
27
|
import {
|
|
18
28
|
OracleAdapter,
|
|
19
29
|
configureConnection,
|
|
@@ -23,7 +33,6 @@ import {
|
|
|
23
33
|
editConnection,
|
|
24
34
|
environment,
|
|
25
35
|
external_exports,
|
|
26
|
-
identifier,
|
|
27
36
|
installSources,
|
|
28
37
|
loadProject,
|
|
29
38
|
managedHome,
|
|
@@ -43,7 +52,7 @@ import {
|
|
|
43
52
|
sqlclConfig,
|
|
44
53
|
sqlclMode,
|
|
45
54
|
sqlclRestriction
|
|
46
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-EBBEN4AV.mjs";
|
|
47
56
|
import {
|
|
48
57
|
Fault,
|
|
49
58
|
artifactPage,
|
|
@@ -59,72 +68,6 @@ import {
|
|
|
59
68
|
writeJson
|
|
60
69
|
} from "./chunk-2Z3BZF66.mjs";
|
|
61
70
|
|
|
62
|
-
// packages/core/src/metadata.ts
|
|
63
|
-
var metadataOffset = external_exports.number().int().min(0).max(1e5);
|
|
64
|
-
var metadataLimit = external_exports.number().int().min(1).max(100);
|
|
65
|
-
var metadataRequest = external_exports.strictObject({
|
|
66
|
-
kind: external_exports.enum(["objects", "columns", "constraints", "signatures", "applications", "pages"]),
|
|
67
|
-
schema: identifier,
|
|
68
|
-
name: identifier.optional(),
|
|
69
|
-
offset: metadataOffset.default(0),
|
|
70
|
-
limit: metadataLimit.default(30)
|
|
71
|
-
});
|
|
72
|
-
var metadataRequests = external_exports.array(metadataRequest).min(1).max(8);
|
|
73
|
-
var metadataBatchRequest = external_exports.strictObject({ requests: metadataRequests });
|
|
74
|
-
var metadataInputSchema = external_exports.strictObject({
|
|
75
|
-
kind: metadataRequest.shape.kind.optional(),
|
|
76
|
-
schema: metadataRequest.shape.schema.optional(),
|
|
77
|
-
name: metadataRequest.shape.name,
|
|
78
|
-
offset: metadataOffset.optional(),
|
|
79
|
-
limit: metadataLimit.optional(),
|
|
80
|
-
requests: metadataRequests.optional()
|
|
81
|
-
});
|
|
82
|
-
var queries = {
|
|
83
|
-
objects: "select object_name, object_type from all_objects where owner=:p_owner and object_type in ('TABLE','VIEW','PACKAGE') and (:p_name is null or object_name=:p_name) order by object_name, object_type",
|
|
84
|
-
columns: "select table_name,column_name,data_type,nullable,column_id from all_tab_columns where owner=:p_owner and table_name=:p_name order by column_id",
|
|
85
|
-
constraints: "select table_name,constraint_name,constraint_type,r_owner,r_constraint_name,status from all_constraints where owner=:p_owner and table_name=:p_name order by constraint_name",
|
|
86
|
-
signatures: "select package_name,object_name,argument_name,position,in_out,data_type,overload from all_arguments where owner=:p_owner and package_name=:p_name order by object_name,overload,sequence",
|
|
87
|
-
applications: "select application_id,application_name,alias from apex_applications where owner=:p_owner and application_id=:p_app_id order by application_id",
|
|
88
|
-
pages: "select application_id,page_id,page_name,page_alias from apex_application_pages where application_id=:p_app_id and workspace=:p_workspace order by page_id"
|
|
89
|
-
};
|
|
90
|
-
async function metadataRead(adapter, env2, connection, value) {
|
|
91
|
-
const input = parse(external_exports.union([metadataRequest, metadataBatchRequest]), value);
|
|
92
|
-
const batch = "requests" in input;
|
|
93
|
-
const requests = batch ? input.requests : [input];
|
|
94
|
-
for (const r of requests) {
|
|
95
|
-
if (r.schema !== env2.parsingSchema)
|
|
96
|
-
throw new Fault("SCHEMA_DENIED", "Metadata is restricted to the configured parsing schema.", 4);
|
|
97
|
-
if (["columns", "constraints", "signatures"].includes(r.kind) && !r.name)
|
|
98
|
-
throw new Fault("OBJECT_REQUIRED", "Select a specific object first.", 2);
|
|
99
|
-
}
|
|
100
|
-
await adapter.verifyTarget(env2, connection);
|
|
101
|
-
const read = async (r) => {
|
|
102
|
-
const rows = await adapter.jsonQuery(
|
|
103
|
-
queries[r.kind] + " offset :p_offset rows fetch next :p_limit rows only",
|
|
104
|
-
connection,
|
|
105
|
-
{
|
|
106
|
-
p_owner: r.schema,
|
|
107
|
-
p_name: r.name ?? "",
|
|
108
|
-
p_app_id: env2.applicationId,
|
|
109
|
-
p_workspace: env2.workspace,
|
|
110
|
-
p_offset: r.offset,
|
|
111
|
-
p_limit: r.limit
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
return {
|
|
115
|
-
dataClassification: "untrusted_database_content",
|
|
116
|
-
rows,
|
|
117
|
-
offset: r.offset,
|
|
118
|
-
nextOffset: rows.length === r.limit ? r.offset + r.limit : null
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
if (!batch) return read(input);
|
|
122
|
-
const results = [];
|
|
123
|
-
for (const [index, r] of requests.entries())
|
|
124
|
-
results.push({ index, kind: r.kind, ...r.name ? { name: r.name } : {}, ...await read(r) });
|
|
125
|
-
return { results, targetVerifiedOnce: true };
|
|
126
|
-
}
|
|
127
|
-
|
|
128
71
|
// packages/core/src/operations.ts
|
|
129
72
|
var project = external_exports.string().min(1).max(4096).optional();
|
|
130
73
|
var env = refName;
|
|
@@ -182,7 +125,12 @@ var schemas = {
|
|
|
182
125
|
template: external_exports.enum(["blank-app", "customer-crm", "existing-app"]).default("blank-app"),
|
|
183
126
|
alias: refName.optional()
|
|
184
127
|
}),
|
|
185
|
-
"project.adopt": external_exports.strictObject({
|
|
128
|
+
"project.adopt": external_exports.strictObject({
|
|
129
|
+
...base,
|
|
130
|
+
env,
|
|
131
|
+
appId: external_exports.number().int().positive(),
|
|
132
|
+
workingCopy: external_exports.boolean().default(false)
|
|
133
|
+
}),
|
|
186
134
|
"project.inspect": external_exports.strictObject({ ...base, detail: external_exports.enum(["full", "summary"]).default("full") }),
|
|
187
135
|
"connection.add": external_exports.strictObject({
|
|
188
136
|
...base,
|
|
@@ -202,16 +150,24 @@ var schemas = {
|
|
|
202
150
|
saved: external_exports.boolean().default(false)
|
|
203
151
|
}),
|
|
204
152
|
"connection.remove": external_exports.strictObject({ ...base, name: refName }),
|
|
153
|
+
"compose.plan": composePlanInput,
|
|
154
|
+
"compose.materialize": composeMaterializeInput,
|
|
205
155
|
"docs.search": external_exports.strictObject({
|
|
156
|
+
...base,
|
|
206
157
|
query: external_exports.string().min(1).max(256),
|
|
207
|
-
corpus: external_exports.enum(["apexlang", "components", "patterns"]).default("apexlang"),
|
|
158
|
+
corpus: external_exports.enum(["apexlang", "components", "patterns", "blocks", "blueprints"]).default("apexlang"),
|
|
208
159
|
version: external_exports.string().optional(),
|
|
209
160
|
kind: external_exports.enum(["grammar", "template", "contract", "guide"]).optional(),
|
|
210
161
|
family: external_exports.string().min(1).max(200).optional(),
|
|
162
|
+
profile: external_exports.string().max(200).optional(),
|
|
163
|
+
status: external_exports.enum(["draft", "experimental", "verified", "deprecated", "revoked"]).optional(),
|
|
164
|
+
locale: external_exports.enum(["en", "uk"]).optional(),
|
|
165
|
+
cursor: external_exports.string().regex(/^[a-f0-9]{64}$/).optional(),
|
|
211
166
|
offset: external_exports.number().int().min(0).max(1e4).default(0),
|
|
212
167
|
limit: external_exports.number().int().min(1).max(8).default(3)
|
|
213
168
|
}),
|
|
214
169
|
"docs.read": external_exports.strictObject({
|
|
170
|
+
...base,
|
|
215
171
|
id: external_exports.string().max(200),
|
|
216
172
|
offset: external_exports.number().int().min(0).default(0),
|
|
217
173
|
limit: external_exports.number().int().min(1).max(8192).default(4096)
|
|
@@ -224,9 +180,10 @@ var schemas = {
|
|
|
224
180
|
output: relativePath,
|
|
225
181
|
alias: refName.optional()
|
|
226
182
|
}),
|
|
183
|
+
"apex.sync": external_exports.strictObject({ ...base, env, action: external_exports.enum(["init", "status", "refresh", "invalidate"]) }),
|
|
227
184
|
"apex.export": external_exports.strictObject({ ...base, env, output: relativePath }),
|
|
228
185
|
"apex.validate": external_exports.strictObject({ ...base, env: env.optional() }),
|
|
229
|
-
"apex.diff": external_exports.strictObject({ ...base, env }),
|
|
186
|
+
"apex.diff": external_exports.strictObject({ ...base, env, comparison: external_exports.enum(["auto", "live"]).default("auto") }),
|
|
230
187
|
"db.plan": external_exports.strictObject({ ...base, env }),
|
|
231
188
|
"deploy.plan": external_exports.strictObject({ ...base, env, out: relativePath }),
|
|
232
189
|
"deploy.apply": external_exports.strictObject({ ...base, plan: relativePath }),
|
|
@@ -258,6 +215,22 @@ var schemas = {
|
|
|
258
215
|
"sandbox.down": external_exports.strictObject(base)
|
|
259
216
|
};
|
|
260
217
|
var toolCatalog = [
|
|
218
|
+
{
|
|
219
|
+
name: "apexrest_compose_plan",
|
|
220
|
+
operation: "compose.plan",
|
|
221
|
+
description: "Create an immutable Composer plan. Offline by default; connected requires an explicit environment. No import or database writes. Full plans are artifacts.",
|
|
222
|
+
readOnly: false,
|
|
223
|
+
destructive: false,
|
|
224
|
+
long: true
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: "apexrest_compose_materialize",
|
|
228
|
+
operation: "compose.materialize",
|
|
229
|
+
description: "Apply a reviewed Composer plan using its expected digest. Journaled local source writes only; never deploys. Recovery is explicit.",
|
|
230
|
+
readOnly: false,
|
|
231
|
+
destructive: false,
|
|
232
|
+
long: true
|
|
233
|
+
},
|
|
261
234
|
{
|
|
262
235
|
name: "apexrest_browser_open",
|
|
263
236
|
operation: "browser.open",
|
|
@@ -321,6 +294,14 @@ var toolCatalog = [
|
|
|
321
294
|
readOnly: false,
|
|
322
295
|
long: true
|
|
323
296
|
},
|
|
297
|
+
{
|
|
298
|
+
name: "apexrest_apex_sync",
|
|
299
|
+
operation: "apex.sync",
|
|
300
|
+
description: "Manage a single-editor working copy for an existing dev/test app: init, local status, explicit refresh or invalidate. Initial APEXlang and SQL exports only; blocked outcomes require reconciliation.",
|
|
301
|
+
readOnly: false,
|
|
302
|
+
destructive: false,
|
|
303
|
+
long: true
|
|
304
|
+
},
|
|
324
305
|
{
|
|
325
306
|
name: "apexrest_apex_export",
|
|
326
307
|
operation: "apex.export",
|
|
@@ -828,6 +809,24 @@ function snippet(text, query, terms) {
|
|
|
828
809
|
};
|
|
829
810
|
}
|
|
830
811
|
async function referenceSearch(query, version, options = {}) {
|
|
812
|
+
if (options.corpus === "blocks" || options.corpus === "blueprints") {
|
|
813
|
+
const found = await catalogSearch(query, { ...options, ...version ? { version } : {} });
|
|
814
|
+
return found.results.map((hit) => ({
|
|
815
|
+
...hit,
|
|
816
|
+
source: "bundled-composer-catalog",
|
|
817
|
+
version: "version" in hit ? hit.version : "1",
|
|
818
|
+
kind: "template",
|
|
819
|
+
family: "composer",
|
|
820
|
+
text: hit.title,
|
|
821
|
+
offset: 0,
|
|
822
|
+
matchOffset: 0,
|
|
823
|
+
length: hit.title.length,
|
|
824
|
+
nextOffset: null,
|
|
825
|
+
requires: [],
|
|
826
|
+
totalMatches: found.totalMatches,
|
|
827
|
+
nextResultOffset: found.nextResultOffset
|
|
828
|
+
}));
|
|
829
|
+
}
|
|
831
830
|
if (options.corpus === "components") return componentSearch(query, version, options);
|
|
832
831
|
if (options.corpus === "patterns") return patternSearch(query, version, options);
|
|
833
832
|
const terms = termsFor(query);
|
|
@@ -883,7 +882,8 @@ async function referenceSearch(query, version, options = {}) {
|
|
|
883
882
|
};
|
|
884
883
|
});
|
|
885
884
|
}
|
|
886
|
-
async function referenceRead(id, offset, limit) {
|
|
885
|
+
async function referenceRead(id, offset, limit, project2) {
|
|
886
|
+
if (id.startsWith("block:") || id.startsWith("blueprint:")) return catalogRead(id, offset, limit, project2);
|
|
887
887
|
if (id.startsWith("component:")) return componentRead(id, offset, limit);
|
|
888
888
|
if (id.startsWith("pattern:")) return patternRead(id, offset, limit);
|
|
889
889
|
const index = await referenceIndex();
|
|
@@ -987,7 +987,7 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
987
987
|
let data;
|
|
988
988
|
switch (operation) {
|
|
989
989
|
case "panel.open": {
|
|
990
|
-
const { openPanel } = await import("./chunk-
|
|
990
|
+
const { openPanel } = await import("./chunk-WXP75UUP.mjs");
|
|
991
991
|
data = await openPanel(await realpath2(root));
|
|
992
992
|
break;
|
|
993
993
|
}
|
|
@@ -1024,29 +1024,29 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1024
1024
|
);
|
|
1025
1025
|
break;
|
|
1026
1026
|
case "dependencies.install": {
|
|
1027
|
-
const { ToolchainService } = await import("./chunk-
|
|
1027
|
+
const { ToolchainService } = await import("./chunk-YQHHPRJH.mjs");
|
|
1028
1028
|
data = await new ToolchainService().apply(parsed);
|
|
1029
1029
|
break;
|
|
1030
1030
|
}
|
|
1031
1031
|
case "dependencies.uninstall": {
|
|
1032
|
-
const { uninstallTools } = await import("./chunk-
|
|
1032
|
+
const { uninstallTools } = await import("./chunk-33GE2NWZ.mjs");
|
|
1033
1033
|
data = await uninstallTools(parsed);
|
|
1034
1034
|
break;
|
|
1035
1035
|
}
|
|
1036
1036
|
case "setup":
|
|
1037
1037
|
case "plugin.install":
|
|
1038
1038
|
case "plugin.update": {
|
|
1039
|
-
const { setup: setup2 } = await import("./chunk-
|
|
1039
|
+
const { setup: setup2 } = await import("./chunk-KQ5IDT7Z.mjs");
|
|
1040
1040
|
data = await setup2(parsed);
|
|
1041
1041
|
break;
|
|
1042
1042
|
}
|
|
1043
1043
|
case "plugin.validate": {
|
|
1044
|
-
const { validateNative } = await import("./chunk-
|
|
1044
|
+
const { validateNative } = await import("./chunk-KQ5IDT7Z.mjs");
|
|
1045
1045
|
data = await validateNative(text("from"));
|
|
1046
1046
|
break;
|
|
1047
1047
|
}
|
|
1048
1048
|
case "plugin.uninstall": {
|
|
1049
|
-
const { uninstallNative } = await import("./chunk-
|
|
1049
|
+
const { uninstallNative } = await import("./chunk-KQ5IDT7Z.mjs");
|
|
1050
1050
|
data = await uninstallNative(text("home") ?? managedHome(), Boolean(parsed.keepRuntime));
|
|
1051
1051
|
break;
|
|
1052
1052
|
}
|
|
@@ -1089,7 +1089,7 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1089
1089
|
data = await referenceSearch(text("query"), text("version"), schemas["docs.search"].parse(parsed));
|
|
1090
1090
|
break;
|
|
1091
1091
|
case "docs.read":
|
|
1092
|
-
data = await referenceRead(text("id"), Number(parsed.offset), Number(parsed.limit));
|
|
1092
|
+
data = await referenceRead(text("id"), Number(parsed.offset), Number(parsed.limit), text("project"));
|
|
1093
1093
|
break;
|
|
1094
1094
|
case "docs.sync":
|
|
1095
1095
|
data = await referenceSync(text("version"), Boolean(parsed.dryRun));
|
|
@@ -1102,6 +1102,12 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1102
1102
|
default: {
|
|
1103
1103
|
const ctx = await loadProject(root);
|
|
1104
1104
|
switch (operation) {
|
|
1105
|
+
case "compose.plan":
|
|
1106
|
+
data = await composePlan(ctx, schemas["compose.plan"].parse(parsed), oracle, signal);
|
|
1107
|
+
break;
|
|
1108
|
+
case "compose.materialize":
|
|
1109
|
+
data = await composeMaterialize(ctx, schemas["compose.materialize"].parse(parsed), signal);
|
|
1110
|
+
break;
|
|
1105
1111
|
case "project.inspect":
|
|
1106
1112
|
data = await projectInspect(ctx, parsed.detail);
|
|
1107
1113
|
break;
|
|
@@ -1123,6 +1129,14 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1123
1129
|
};
|
|
1124
1130
|
break;
|
|
1125
1131
|
}
|
|
1132
|
+
case "apex.sync":
|
|
1133
|
+
data = await deployment.sync(
|
|
1134
|
+
ctx,
|
|
1135
|
+
text("env"),
|
|
1136
|
+
parsed.action,
|
|
1137
|
+
signal
|
|
1138
|
+
);
|
|
1139
|
+
break;
|
|
1126
1140
|
case "project.adopt":
|
|
1127
1141
|
case "apex.export": {
|
|
1128
1142
|
await requireTrust(ctx.root);
|
|
@@ -1133,6 +1147,10 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1133
1147
|
"Requested app ID differs from the environment mapping.",
|
|
1134
1148
|
5
|
|
1135
1149
|
);
|
|
1150
|
+
if (operation === "project.adopt" && parsed.workingCopy) {
|
|
1151
|
+
data = await deployment.sync(ctx, text("env"), "init", signal);
|
|
1152
|
+
break;
|
|
1153
|
+
}
|
|
1136
1154
|
const connection = await resolveConnection(env2.readConnectionRef);
|
|
1137
1155
|
await oracle.verifyTarget(env2, connection);
|
|
1138
1156
|
const exported = await oracle.exportApplication(env2, connection);
|
|
@@ -1149,12 +1167,25 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1149
1167
|
break;
|
|
1150
1168
|
case "apex.diff": {
|
|
1151
1169
|
await requireTrust(ctx.root);
|
|
1152
|
-
const env2 = environment(ctx, text("env"))
|
|
1153
|
-
|
|
1154
|
-
const
|
|
1170
|
+
const env2 = environment(ctx, text("env"));
|
|
1171
|
+
const store = new SyncStore(ctx, env2, text("env"));
|
|
1172
|
+
const state = parsed.comparison === "live" ? null : await store.read();
|
|
1173
|
+
let exported, provenance;
|
|
1174
|
+
if (state && state.status !== "invalidated" && parsed.comparison !== "live") {
|
|
1175
|
+
await store.validate(state);
|
|
1176
|
+
exported = checkpoint(state);
|
|
1177
|
+
provenance = state.lastSuccessfulImport ? "last-successful-import" : "initial-baseline";
|
|
1178
|
+
} else {
|
|
1179
|
+
const connection = await resolveConnection(env2.readConnectionRef);
|
|
1180
|
+
await oracle.verifyTarget(env2, connection);
|
|
1181
|
+
exported = await oracle.exportApplication(env2, connection);
|
|
1182
|
+
provenance = "live-export";
|
|
1183
|
+
}
|
|
1184
|
+
const local = (await projectInspect(ctx)).sources.apex;
|
|
1155
1185
|
data = {
|
|
1156
1186
|
scope: "full-application-import",
|
|
1157
1187
|
completeness: "textual-file-hashes-only",
|
|
1188
|
+
provenance,
|
|
1158
1189
|
changes: [.../* @__PURE__ */ new Set([...Object.keys(exported.files), ...Object.keys(local ?? {})])].filter((f) => exported.files[f] !== local?.[f]).map((file) => ({
|
|
1159
1190
|
file,
|
|
1160
1191
|
before: exported.files[file] ?? null,
|
|
@@ -1231,7 +1262,7 @@ async function dispatch(operation, input = {}, signal) {
|
|
|
1231
1262
|
data = await tests.auth(ctx, text("env"));
|
|
1232
1263
|
break;
|
|
1233
1264
|
case "browser.open": {
|
|
1234
|
-
const { openVerificationBrowser } = await import("./chunk-
|
|
1265
|
+
const { openVerificationBrowser } = await import("./chunk-ESDVN7DS.mjs");
|
|
1235
1266
|
data = await openVerificationBrowser(
|
|
1236
1267
|
ctx,
|
|
1237
1268
|
text("env"),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
VERSION
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-G3KR57BY.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Client,
|
|
7
7
|
StdioClientTransport,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
resourceRoot,
|
|
28
28
|
runProcess,
|
|
29
29
|
runtimeState
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-EBBEN4AV.mjs";
|
|
31
31
|
import {
|
|
32
32
|
Fault,
|
|
33
33
|
__commonJS,
|