pi-apexlang 0.2.0 → 0.2.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 +13 -0
- package/extensions/apexlang/index.ts +4 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -90,6 +90,19 @@ code** requires an explicit target mode:
|
|
|
90
90
|
Without GUI support, the tool always stops after checking and reports import
|
|
91
91
|
as a follow-up.
|
|
92
92
|
|
|
93
|
+
When refreshing a full APEXlang export, run one SQLcl export with explicit
|
|
94
|
+
replacement semantics:
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
apex export -applicationid <id> -exptype APEXLANG -split -dir <absolute-parent-directory> -force
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`-dir` names the parent directory; SQLcl creates the application-alias folder
|
|
101
|
+
below it. The `-force` flag removes and recreates that export folder, so a
|
|
102
|
+
repeat export produces one current snapshot instead of collision copies such
|
|
103
|
+
as `application_1.apx` and `p00005_1.apx`. Because this replaces the complete
|
|
104
|
+
local export, preserve or import any local-only work before refreshing it.
|
|
105
|
+
|
|
93
106
|
All app paths must remain inside the active Pi workspace. The adapter rejects
|
|
94
107
|
traversal, app-tree symlinks, and multiply linked files on mutating vocabulary
|
|
95
108
|
fixes; verifies live workspace input against `deployments/default.json`; and
|
|
@@ -20,6 +20,8 @@ const CHECK_ONLY_CHOICE = "Check APEXlang code (recommended) — stop after the
|
|
|
20
20
|
const IMPORT_CHOICE = "Check and import APEXlang code — revalidate and import in one SQLcl session";
|
|
21
21
|
const UPDATE_EXISTING_CHOICE = "Update an existing app — require one proven remote target";
|
|
22
22
|
const CREATE_NEW_CHOICE = "Create a new app — require proof that the alias is absent";
|
|
23
|
+
const EXPORT_OVERWRITE_GUIDELINE =
|
|
24
|
+
"For a full APEXlang export refresh, run exactly one SQLcl `apex export` command with `-force` and `-dir` set to the absolute parent directory. Never export without `-force` into an existing destination: SQLcl can collision-suffix every artifact as `*_1.apx` instead of replacing the snapshot.";
|
|
23
25
|
|
|
24
26
|
function trimOutput(value: string, outputRoot?: string): string {
|
|
25
27
|
if (value.length <= MAX_TOOL_OUTPUT) return value;
|
|
@@ -110,6 +112,7 @@ export function createApexlangTool(overrides: Partial<ApexlangDependencies> = {}
|
|
|
110
112
|
promptGuidelines: [
|
|
111
113
|
"Load the apexlang skill before using the apexlang tool and follow its routing and Missing Inputs rules.",
|
|
112
114
|
"Use apexlang workspace_probe before app-scoped APEXlang work.",
|
|
115
|
+
EXPORT_OVERWRITE_GUIDELINE,
|
|
113
116
|
"Use apexlang runtime_validate only after the user provides both db_connection_name and the matching APEX workspace_name; import requires the tool's separate post-check GUI choice."
|
|
114
117
|
],
|
|
115
118
|
executionMode: "sequential",
|
|
@@ -425,6 +428,7 @@ export {
|
|
|
425
428
|
CHECK_ONLY_CHOICE,
|
|
426
429
|
IMPORT_CHOICE,
|
|
427
430
|
CREATE_NEW_CHOICE,
|
|
431
|
+
EXPORT_OVERWRITE_GUIDELINE,
|
|
428
432
|
UPDATE_EXISTING_CHOICE,
|
|
429
433
|
actionWritesProject,
|
|
430
434
|
confirmationMessage,
|