@elevasis/sdk 0.5.10 → 0.5.11
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/dist/cli.cjs +80 -78
- package/dist/index.d.ts +1 -1
- package/dist/templates.js +31 -30
- package/package.json +1 -3
- package/reference/_navigation.md +3 -3
- package/reference/cli/index.mdx +51 -45
- package/reference/concepts/index.mdx +2 -2
- package/reference/deployment/api.mdx +8 -8
- package/reference/deployment/command-center-ui.mdx +4 -4
- package/reference/deployment/command-view.mdx +3 -3
- package/reference/deployment/index.mdx +7 -7
- package/reference/framework/agent.mdx +4 -4
- package/reference/framework/documentation.mdx +7 -7
- package/reference/framework/index.mdx +2 -2
- package/reference/framework/memory.mdx +1 -1
- package/reference/framework/project-structure.mdx +18 -18
- package/reference/getting-started/index.mdx +18 -29
- package/reference/index.mdx +6 -5
- package/reference/platform-tools/index.mdx +4 -4
- package/reference/resources/index.mdx +3 -3
- package/reference/resources/patterns.mdx +3 -3
- package/reference/resources/types.mdx +2 -2
- package/reference/roadmap/index.mdx +1 -1
- package/reference/runtime/index.mdx +3 -3
- package/reference/security/credentials.mdx +3 -3
- package/reference/troubleshooting/common-errors.mdx +3 -3
package/dist/cli.cjs
CHANGED
|
@@ -43694,7 +43694,7 @@ function wrapAction(commandName, fn) {
|
|
|
43694
43694
|
} catch (error46) {
|
|
43695
43695
|
const errorMessage = error46 instanceof Error ? error46.message : String(error46);
|
|
43696
43696
|
console.error(source_default.red("\nError:"), errorMessage);
|
|
43697
|
-
console.error(source_default.gray(`Run "elevasis ${commandName} --help" for more information`));
|
|
43697
|
+
console.error(source_default.gray(`Run "elevasis-sdk ${commandName} --help" for more information`));
|
|
43698
43698
|
process.exit(1);
|
|
43699
43699
|
}
|
|
43700
43700
|
};
|
|
@@ -43811,12 +43811,10 @@ async function apiDelete(endpoint, apiUrl = resolveApiUrl()) {
|
|
|
43811
43811
|
// package.json
|
|
43812
43812
|
var package_default = {
|
|
43813
43813
|
name: "@elevasis/sdk",
|
|
43814
|
-
version: "0.5.
|
|
43814
|
+
version: "0.5.11",
|
|
43815
43815
|
description: "SDK for building Elevasis organization resources",
|
|
43816
|
-
"comment:bin": "IMPORTANT: This package shares the 'elevasis' binary name with @repo/cli. They never conflict because @elevasis/sdk must NEVER be added as a dependency of any workspace package (apps/*, packages/*, organizations/*). Workspace projects use @repo/cli for the 'elevasis' binary. External developers (outside the workspace) get this SDK's binary via npm install.",
|
|
43817
43816
|
type: "module",
|
|
43818
43817
|
bin: {
|
|
43819
|
-
elevasis: "./dist/cli.cjs",
|
|
43820
43818
|
"elevasis-sdk": "./dist/cli.cjs"
|
|
43821
43819
|
},
|
|
43822
43820
|
exports: {
|
|
@@ -43942,7 +43940,7 @@ async function generateResourceMap(org) {
|
|
|
43942
43940
|
"",
|
|
43943
43941
|
"# Resource Map",
|
|
43944
43942
|
"",
|
|
43945
|
-
"> Auto-generated by `elevasis deploy`. Do not edit manually.",
|
|
43943
|
+
"> Auto-generated by `elevasis-sdk deploy`. Do not edit manually.",
|
|
43946
43944
|
""
|
|
43947
43945
|
];
|
|
43948
43946
|
if (workflows.length > 0) {
|
|
@@ -43998,7 +43996,7 @@ async function generateProjectMap(org) {
|
|
|
43998
43996
|
"",
|
|
43999
43997
|
"# Project Map",
|
|
44000
43998
|
"",
|
|
44001
|
-
"> Auto-generated by `elevasis deploy` and `/meta fix`. Do not edit manually.",
|
|
43999
|
+
"> Auto-generated by `elevasis-sdk deploy` and `/meta fix`. Do not edit manually.",
|
|
44002
44000
|
"",
|
|
44003
44001
|
"## Project Overview",
|
|
44004
44002
|
"",
|
|
@@ -44330,7 +44328,7 @@ async function generateProjectMap(org) {
|
|
|
44330
44328
|
await (0, import_promises.writeFile)((0, import_path.resolve)("docs/project-map.mdx"), lines.join("\n"), "utf-8");
|
|
44331
44329
|
}
|
|
44332
44330
|
function registerDeployCommand(program3) {
|
|
44333
|
-
program3.command("deploy").description("Validate, bundle, upload, and deploy project resources\n Example: elevasis deploy --api-url http://localhost:5170").option("--api-url <url>", "API URL").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").option("--prod", "Deploy to production (overrides NODE_ENV=development)").action(wrapAction("deploy", async (options2) => {
|
|
44331
|
+
program3.command("deploy").description("Validate, bundle, upload, and deploy project resources\n Example: elevasis-sdk deploy --api-url http://localhost:5170").option("--api-url <url>", "API URL").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").option("--prod", "Deploy to production (overrides NODE_ENV=development)").action(wrapAction("deploy", async (options2) => {
|
|
44334
44332
|
const startTime = Date.now();
|
|
44335
44333
|
const apiUrl = resolveApiUrl(options2.apiUrl, options2.prod);
|
|
44336
44334
|
const env2 = resolveEnvironment(options2.prod);
|
|
@@ -44578,7 +44576,7 @@ startWorker(org)
|
|
|
44578
44576
|
// src/cli/commands/check.ts
|
|
44579
44577
|
var import_meta2 = {};
|
|
44580
44578
|
function registerCheckCommand(program3) {
|
|
44581
|
-
program3.command("check").description("Validate project resources against the ResourceRegistry\n Example: elevasis check --entry ./src/index.ts").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").action(wrapAction("check", async (options2) => {
|
|
44579
|
+
program3.command("check").description("Validate project resources against the ResourceRegistry\n Example: elevasis-sdk check --entry ./src/index.ts").option("--entry <path>", "Path to entry file (default: ./src/index.ts)").action(wrapAction("check", async (options2) => {
|
|
44582
44580
|
const entryPath = options2.entry ?? "./src/index.ts";
|
|
44583
44581
|
const spinner = ora("Validating resources...").start();
|
|
44584
44582
|
try {
|
|
@@ -44732,7 +44730,7 @@ async function pollForCompletion(resourceId, executionId, apiUrl) {
|
|
|
44732
44730
|
}
|
|
44733
44731
|
function registerExecCommand(program3) {
|
|
44734
44732
|
program3.command("exec <resourceId>").description(`Execute a deployed resource
|
|
44735
|
-
Example: elevasis exec my-workflow -i '{"key":"value"}'`).option("-i, --input <json>", "Input data as JSON string").option("--async", "Execute asynchronously with polling").option("--api-url <url>", "API URL").action(wrapAction("exec", async (resourceId, options2) => {
|
|
44733
|
+
Example: elevasis-sdk exec my-workflow -i '{"key":"value"}'`).option("-i, --input <json>", "Input data as JSON string").option("--async", "Execute asynchronously with polling").option("--api-url <url>", "API URL").action(wrapAction("exec", async (resourceId, options2) => {
|
|
44736
44734
|
const input = options2.input ? JSON.parse(options2.input) : {};
|
|
44737
44735
|
const apiUrl = resolveApiUrl(options2.apiUrl);
|
|
44738
44736
|
if (options2.async) {
|
|
@@ -44814,7 +44812,7 @@ function registerResourcesCommand(program3) {
|
|
|
44814
44812
|
}
|
|
44815
44813
|
if (data.resources.length === 0) {
|
|
44816
44814
|
console.log(source_default.yellow("No deployed resources found."));
|
|
44817
|
-
console.log(source_default.gray("Deploy with: elevasis deploy"));
|
|
44815
|
+
console.log(source_default.gray("Deploy with: elevasis-sdk deploy"));
|
|
44818
44816
|
return;
|
|
44819
44817
|
}
|
|
44820
44818
|
const workflows = data.resources.filter((r) => r.resourceType === "workflow");
|
|
@@ -44845,7 +44843,7 @@ function registerResourcesCommand(program3) {
|
|
|
44845
44843
|
|
|
44846
44844
|
// src/cli/commands/executions.ts
|
|
44847
44845
|
function registerExecutionsCommand(program3) {
|
|
44848
|
-
program3.command("executions <resourceId>").description("List execution history for a resource\n Example: elevasis executions my-workflow --limit 10").option("--api-url <url>", "API URL").option("--json", "Output as JSON").option("--limit <number>", "Limit number of results (default: 50)").option("--status <status>", "Filter by status (running|completed|failed)").action(wrapAction("executions", async (resourceId, options2) => {
|
|
44846
|
+
program3.command("executions <resourceId>").description("List execution history for a resource\n Example: elevasis-sdk executions my-workflow --limit 10").option("--api-url <url>", "API URL").option("--json", "Output as JSON").option("--limit <number>", "Limit number of results (default: 50)").option("--status <status>", "Filter by status (running|completed|failed)").action(wrapAction("executions", async (resourceId, options2) => {
|
|
44849
44847
|
const apiUrl = resolveApiUrl(options2.apiUrl);
|
|
44850
44848
|
const spinner = ora(`Fetching executions for ${resourceId}...`).start();
|
|
44851
44849
|
const params = new URLSearchParams();
|
|
@@ -44895,7 +44893,7 @@ function registerExecutionsCommand(program3) {
|
|
|
44895
44893
|
console.log();
|
|
44896
44894
|
console.log(
|
|
44897
44895
|
source_default.dim("Use"),
|
|
44898
|
-
source_default.cyan(`elevasis execution ${resourceId} <execution-id>`),
|
|
44896
|
+
source_default.cyan(`elevasis-sdk execution ${resourceId} <execution-id>`),
|
|
44899
44897
|
source_default.dim("to view details")
|
|
44900
44898
|
);
|
|
44901
44899
|
}));
|
|
@@ -44903,7 +44901,7 @@ function registerExecutionsCommand(program3) {
|
|
|
44903
44901
|
|
|
44904
44902
|
// src/cli/commands/execution.ts
|
|
44905
44903
|
function registerExecutionCommand(program3) {
|
|
44906
|
-
program3.command("execution <resourceId> <executionId>").description("Get detailed information about a specific execution\n Example: elevasis execution my-workflow abc-123-uuid --logs-only").option("--api-url <url>", "API URL").option("--json", "Output raw JSON response").option("--logs-only", "Show only execution logs").option("--input", "Include input data in output").option("--result", "Include result data in output").action(wrapAction("execution", async (resourceId, executionId, options2) => {
|
|
44904
|
+
program3.command("execution <resourceId> <executionId>").description("Get detailed information about a specific execution\n Example: elevasis-sdk execution my-workflow abc-123-uuid --logs-only").option("--api-url <url>", "API URL").option("--json", "Output raw JSON response").option("--logs-only", "Show only execution logs").option("--input", "Include input data in output").option("--result", "Include result data in output").action(wrapAction("execution", async (resourceId, executionId, options2) => {
|
|
44907
44905
|
const apiUrl = resolveApiUrl(options2.apiUrl);
|
|
44908
44906
|
const spinner = ora("Fetching execution details...").start();
|
|
44909
44907
|
const execution = await apiGet(
|
|
@@ -45019,7 +45017,7 @@ function registerDeploymentsCommand(program3) {
|
|
|
45019
45017
|
}
|
|
45020
45018
|
if (data.deployments.length === 0) {
|
|
45021
45019
|
console.log(source_default.yellow("No deployments found."));
|
|
45022
|
-
console.log(source_default.gray("Deploy with: elevasis deploy"));
|
|
45020
|
+
console.log(source_default.gray("Deploy with: elevasis-sdk deploy"));
|
|
45023
45021
|
return;
|
|
45024
45022
|
}
|
|
45025
45023
|
for (const [index, dep] of data.deployments.entries()) {
|
|
@@ -45065,7 +45063,7 @@ function registerDeploymentsCommand(program3) {
|
|
|
45065
45063
|
|
|
45066
45064
|
// src/cli/commands/describe.ts
|
|
45067
45065
|
function registerDescribeCommand(program3) {
|
|
45068
|
-
program3.command("describe <resourceId>").description("Show resource definition (metadata + schemas)\n Example: elevasis describe my-workflow").option("--api-url <url>", "API URL").option("--json", "Output raw JSON response").action(wrapAction("describe", async (resourceId, options2) => {
|
|
45066
|
+
program3.command("describe <resourceId>").description("Show resource definition (metadata + schemas)\n Example: elevasis-sdk describe my-workflow").option("--api-url <url>", "API URL").option("--json", "Output raw JSON response").action(wrapAction("describe", async (resourceId, options2) => {
|
|
45069
45067
|
const apiUrl = resolveApiUrl(options2.apiUrl);
|
|
45070
45068
|
const spinner = ora("Fetching resource definition...").start();
|
|
45071
45069
|
const definition = await apiGet(
|
|
@@ -45105,7 +45103,7 @@ var import_path3 = require("path");
|
|
|
45105
45103
|
var import_promises2 = require("fs/promises");
|
|
45106
45104
|
|
|
45107
45105
|
// src/cli/commands/templates/core/workspace.ts
|
|
45108
|
-
var TEMPLATE_VERSION =
|
|
45106
|
+
var TEMPLATE_VERSION = 24;
|
|
45109
45107
|
function configTemplate() {
|
|
45110
45108
|
return `import type { ElevasConfig } from '@elevasis/sdk'
|
|
45111
45109
|
|
|
@@ -45123,8 +45121,8 @@ function packageJsonTemplate(organization) {
|
|
|
45123
45121
|
type: "module",
|
|
45124
45122
|
scripts: {
|
|
45125
45123
|
"check-types": "tsc --noEmit",
|
|
45126
|
-
check: "elevasis check",
|
|
45127
|
-
deploy: "elevasis deploy"
|
|
45124
|
+
check: "elevasis-sdk check",
|
|
45125
|
+
deploy: "elevasis-sdk deploy"
|
|
45128
45126
|
},
|
|
45129
45127
|
dependencies: {
|
|
45130
45128
|
"@elevasis/sdk": `^${SDK_VERSION}`
|
|
@@ -45175,6 +45173,7 @@ dist/
|
|
|
45175
45173
|
__elevasis_worker.ts
|
|
45176
45174
|
.claude/settings.local.json
|
|
45177
45175
|
.claude/memory/
|
|
45176
|
+
package-lock.json
|
|
45178
45177
|
`;
|
|
45179
45178
|
if (ctx.hasUI) {
|
|
45180
45179
|
content += `ui/node_modules/
|
|
@@ -45209,12 +45208,12 @@ ELEVASIS_PLATFORM_KEY=sk_...
|
|
|
45209
45208
|
## Development
|
|
45210
45209
|
|
|
45211
45210
|
\`\`\`bash
|
|
45212
|
-
elevasis check # Validate resource definitions
|
|
45213
|
-
elevasis deploy # Bundle and deploy to platform
|
|
45214
|
-
elevasis exec <resourceId> --input '...' # Execute a resource
|
|
45215
|
-
elevasis resources # List deployed resources
|
|
45216
|
-
elevasis describe <resourceId> # Show resource definition + schemas
|
|
45217
|
-
elevasis executions <resourceId> # View execution history
|
|
45211
|
+
elevasis-sdk check # Validate resource definitions
|
|
45212
|
+
elevasis-sdk deploy # Bundle and deploy to platform
|
|
45213
|
+
elevasis-sdk exec <resourceId> --input '...' # Execute a resource
|
|
45214
|
+
elevasis-sdk resources # List deployed resources
|
|
45215
|
+
elevasis-sdk describe <resourceId> # Show resource definition + schemas
|
|
45216
|
+
elevasis-sdk executions <resourceId> # View execution history
|
|
45218
45217
|
\`\`\`
|
|
45219
45218
|
|
|
45220
45219
|
## Project Structure
|
|
@@ -45235,7 +45234,7 @@ A multi-step workflow that queries platform status and compiles a natural langua
|
|
|
45235
45234
|
summary using an LLM. Demonstrates platform API usage with the \`llm\` typed adapter and \`platform.call()\`.
|
|
45236
45235
|
|
|
45237
45236
|
\`\`\`bash
|
|
45238
|
-
elevasis exec platform-status --input '{"timeRange": "24h"}'
|
|
45237
|
+
elevasis-sdk exec platform-status --input '{"timeRange": "24h"}'
|
|
45239
45238
|
\`\`\`
|
|
45240
45239
|
|
|
45241
45240
|
**Input:** \`{ "timeRange": "1h" | "24h" | "7d" }\`
|
|
@@ -45247,7 +45246,7 @@ A simple workflow that echoes the input message back. Use it as a starter patter
|
|
|
45247
45246
|
for new workflows:
|
|
45248
45247
|
|
|
45249
45248
|
\`\`\`bash
|
|
45250
|
-
elevasis exec echo --input '{"message": "hello"}'
|
|
45249
|
+
elevasis-sdk exec echo --input '{"message": "hello"}'
|
|
45251
45250
|
\`\`\`
|
|
45252
45251
|
|
|
45253
45252
|
**Input:** \`{ "message": string }\`
|
|
@@ -45500,13 +45499,13 @@ All \`reference/\` paths resolve to \`node_modules/@elevasis/sdk/reference/\`.
|
|
|
45500
45499
|
|
|
45501
45500
|
## Elevasis CLI
|
|
45502
45501
|
|
|
45503
|
-
**MANDATORY:** Use the \`elevasis\` CLI for all execution/platform operations -- never \`npx\`, \`curl\`, or any other tool.
|
|
45502
|
+
**MANDATORY:** Use the \`elevasis-sdk\` CLI for all execution/platform operations -- never \`npx\`, \`curl\`, or any other tool.
|
|
45504
45503
|
|
|
45505
|
-
- \`elevasis exec <resource-id> --input '{...}'\` -- run a resource synchronously
|
|
45506
|
-
- \`elevasis exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
|
|
45507
|
-
- \`elevasis execution <resource-id> <execution-id>\` -- inspect execution detail
|
|
45508
|
-
- \`elevasis check\` -- validate resource definitions without deploying
|
|
45509
|
-
- \`elevasis deploy\` -- deploy to the platform
|
|
45504
|
+
- \`elevasis-sdk exec <resource-id> --input '{...}'\` -- run a resource synchronously
|
|
45505
|
+
- \`elevasis-sdk exec <resource-id> --input '{...}' --async\` -- run async, returns execution ID
|
|
45506
|
+
- \`elevasis-sdk execution <resource-id> <execution-id>\` -- inspect execution detail
|
|
45507
|
+
- \`elevasis-sdk check\` -- validate resource definitions without deploying
|
|
45508
|
+
- \`elevasis-sdk deploy\` -- deploy to the platform
|
|
45510
45509
|
|
|
45511
45510
|
Organization is derived from your API key -- no org prefix needed in the resource ID.
|
|
45512
45511
|
For full CLI reference: \`reference/cli/index.mdx\`
|
|
@@ -45717,7 +45716,7 @@ When automation is none:
|
|
|
45717
45716
|
Skip the file tour. Start with what Elevasis does for their business -- use analogies
|
|
45718
45717
|
from \`reference/developer/interaction-guidance.mdx\` (recipe, assembly line, kitchen
|
|
45719
45718
|
appliance). Explain deployment plainly: "You write the recipe here, then deploy it so
|
|
45720
|
-
it's live." Deploy the starter echo workflow (\`elevasis check\` + \`elevasis deploy\`),
|
|
45719
|
+
it's live." Deploy the starter echo workflow (\`elevasis-sdk check\` + \`elevasis-sdk deploy\`),
|
|
45721
45720
|
THEN tour the Command Center so the user sees populated pages, not empty ones. Tour:
|
|
45722
45721
|
Command View (echo node), Execution Logs (result).
|
|
45723
45722
|
Observation focus: automation value understanding, Command Center comfort.
|
|
@@ -45726,7 +45725,7 @@ When automation is low-code or custom:
|
|
|
45726
45725
|
Tour project files: src/index.ts (registry), src/example/echo.ts (starter
|
|
45727
45726
|
workflow), src/operations/platform-status.ts (platform API example),
|
|
45728
45727
|
elevasis.config.ts, .env, docs/. Explain the execution model.
|
|
45729
|
-
Verify: run \`elevasis resources\`. Then open the Command Center and tour the
|
|
45728
|
+
Verify: run \`elevasis-sdk resources\`. Then open the Command Center and tour the
|
|
45730
45729
|
main pages: Command View (resource graph), Execution Logs.
|
|
45731
45730
|
Point out the echo workflow node in Command View.
|
|
45732
45731
|
Observation focus: cloud deployment model, UI navigation comfort.
|
|
@@ -45736,14 +45735,14 @@ Observation focus: cloud deployment model, UI navigation comfort.
|
|
|
45736
45735
|
When automation is none:
|
|
45737
45736
|
Frame the workflow as "a recipe." Use plain language: "settings" not "config",
|
|
45738
45737
|
"what data it needs" not "contract", "instructions" not "steps", "where it starts"
|
|
45739
|
-
not "entryPoint." Agent writes all code changes. Agent runs \`elevasis exec\` to verify
|
|
45738
|
+
not "entryPoint." Agent writes all code changes. Agent runs \`elevasis-sdk exec\` to verify
|
|
45740
45739
|
and narrates the result in plain terms.
|
|
45741
45740
|
Observation focus: recipe-to-result connection.
|
|
45742
45741
|
|
|
45743
45742
|
When automation is low-code or custom:
|
|
45744
45743
|
Modify the echo workflow. Walk through each part: config, contract, steps,
|
|
45745
|
-
entryPoint. Deploy: \`elevasis check\` then \`elevasis deploy\`. Test with
|
|
45746
|
-
\`elevasis exec echo --input '{"message":"hello"}'\`. Then open the Execution
|
|
45744
|
+
entryPoint. Deploy: \`elevasis-sdk check\` then \`elevasis-sdk deploy\`. Test with
|
|
45745
|
+
\`elevasis-sdk exec echo --input '{"message":"hello"}'\`. Then open the Execution
|
|
45747
45746
|
Runner in the Command Center, find the echo workflow, fill out the form, and
|
|
45748
45747
|
run it from the UI. Compare the result to the CLI output.
|
|
45749
45748
|
Observation focus: deployment-to-execution loop, TypeScript syntax comfort.
|
|
@@ -45754,20 +45753,20 @@ When automation is none:
|
|
|
45754
45753
|
Frame as "What information does your automation need?" Describe types in plain English:
|
|
45755
45754
|
text, number, yes/no, a choice from a list. NO Zod, no z.string(), no z.infer(), no
|
|
45756
45755
|
code shown. Agent reads identity.md goals and writes the workflow schema. Agent runs
|
|
45757
|
-
\`elevasis exec\` with sample input and narrates the result.
|
|
45756
|
+
\`elevasis-sdk exec\` with sample input and narrates the result.
|
|
45758
45757
|
Observation focus: data-to-input connection, required vs optional understanding.
|
|
45759
45758
|
|
|
45760
45759
|
When automation is low-code:
|
|
45761
45760
|
"Field mapping like Zapier, but with validation." Show Zod types briefly. Demonstrate
|
|
45762
45761
|
how \`.describe()\` documents each field. Build schema based on identity.md goals.
|
|
45763
|
-
After deploy, run with \`elevasis exec --input '{...}'\` to verify each field.
|
|
45762
|
+
After deploy, run with \`elevasis-sdk exec --input '{...}'\` to verify each field.
|
|
45764
45763
|
Observation focus: schema-to-input mapping, optional fields, types.
|
|
45765
45764
|
|
|
45766
45765
|
When automation is custom:
|
|
45767
45766
|
Explain schemas in plain English (concepts page). Show common Zod types.
|
|
45768
45767
|
Explain \`z.infer\`. Build a new workflow with real-world input schema based
|
|
45769
45768
|
on the user's goals (read .claude/memory/profile/identity.md). After deploy,
|
|
45770
|
-
run with \`elevasis exec --input '{...}'\` to verify the schema and inspect
|
|
45769
|
+
run with \`elevasis-sdk exec --input '{...}'\` to verify the schema and inspect
|
|
45771
45770
|
the execution output.
|
|
45772
45771
|
Observation focus: schema-to-input mapping, optional fields, types.
|
|
45773
45772
|
|
|
@@ -45798,7 +45797,7 @@ Observation focus: credential setup (CLI + UI), async/await.
|
|
|
45798
45797
|
When automation is none:
|
|
45799
45798
|
Frame as "Step 1 passes its result to Step 2, like a relay race." Command View is
|
|
45800
45799
|
PRIMARY teaching tool -- show the visual graph before explaining code. Agent builds
|
|
45801
|
-
the 2-step workflow. Agent runs \`elevasis exec\` to verify and shows output flow.
|
|
45800
|
+
the 2-step workflow. Agent runs \`elevasis-sdk exec\` to verify and shows output flow.
|
|
45802
45801
|
User opens Command View to see the two nodes + arrow. Code is secondary.
|
|
45803
45802
|
Observation focus: relay-race concept, visual graph comprehension.
|
|
45804
45803
|
|
|
@@ -45814,7 +45813,7 @@ Observation focus: data flow reasoning, relationship visualization.
|
|
|
45814
45813
|
When automation is none:
|
|
45815
45814
|
Frame as "If the customer is VIP, do this -- otherwise, do that." No StepType.CONDITIONAL
|
|
45816
45815
|
jargon -- focus on the concept, not the implementation. Agent adds the condition.
|
|
45817
|
-
Agent runs \`elevasis exec\` for both paths. Open Execution Logs to see which
|
|
45816
|
+
Agent runs \`elevasis-sdk exec\` for both paths. Open Execution Logs to see which
|
|
45818
45817
|
path ran. Guide log navigation step-by-step.
|
|
45819
45818
|
Observation focus: branching concept understanding, log navigation.
|
|
45820
45819
|
|
|
@@ -45839,7 +45838,7 @@ Change status from dev to production. Cover error handling: try/catch,
|
|
|
45839
45838
|
ExecutionError, PlatformToolError. Create a schedule in Task Scheduler (use
|
|
45840
45839
|
Recurring type for a cron schedule). If docs/ has pages, show Knowledge Base.
|
|
45841
45840
|
Open Deployments page to confirm the latest version is active. Show CLI
|
|
45842
|
-
monitoring: elevasis executions, elevasis execution. Suggest next steps.
|
|
45841
|
+
monitoring: elevasis-sdk executions, elevasis-sdk execution. Suggest next steps.
|
|
45843
45842
|
Observation focus: readiness for independent operation (CLI + UI).
|
|
45844
45843
|
|
|
45845
45844
|
## Module Menu
|
|
@@ -45927,7 +45926,7 @@ Read: \`reference/framework/agent.mdx\`.
|
|
|
45927
45926
|
Build: Create an agent definition with tools. Configure LLM tool calling.
|
|
45928
45927
|
Compare agent vs workflow for a task.
|
|
45929
45928
|
Key concepts: agent definition, tool registration, LLM tool calling, execution trace.
|
|
45930
|
-
Verify: Run agent with \`elevasis exec\`, review tool call trace in Execution Logs.
|
|
45929
|
+
Verify: Run agent with \`elevasis-sdk exec\`, review tool call trace in Execution Logs.
|
|
45931
45930
|
|
|
45932
45931
|
## Meta-Framework Track
|
|
45933
45932
|
|
|
@@ -46050,7 +46049,7 @@ Observation focus: customization concept, owned vs managed files.
|
|
|
46050
46049
|
|
|
46051
46050
|
When automation is low-code:
|
|
46052
46051
|
Show the \`.claude/rules/\` directory. Explain the two types: sdk-patterns.md (MANAGED --
|
|
46053
|
-
updated by elevasis update) and workspace-patterns.md (INIT_ONLY -- yours to edit).
|
|
46052
|
+
updated by elevasis-sdk update) and workspace-patterns.md (INIT_ONLY -- yours to edit).
|
|
46054
46053
|
Explain path-scoping briefly: "These rules only activate when the agent is working on
|
|
46055
46054
|
certain file types." Show an example rule with WRONG/RIGHT pattern. Explain error
|
|
46056
46055
|
promotion: if something goes wrong 3+ times, add it here.
|
|
@@ -46080,7 +46079,7 @@ Next steps: point to reference docs in docs/, encourage using /work for new task
|
|
|
46080
46079
|
Observation focus: update model concept, project map as navigation aid.
|
|
46081
46080
|
|
|
46082
46081
|
When automation is low-code:
|
|
46083
|
-
Explain MANAGED (auto-updated by elevasis update) vs INIT_ONLY (set once, yours).
|
|
46082
|
+
Explain MANAGED (auto-updated by elevasis-sdk update) vs INIT_ONLY (set once, yours).
|
|
46084
46083
|
Show how /meta fix applies SDK updates with conflict handling: "If a file changed,
|
|
46085
46084
|
it shows you both versions and lets you decide."
|
|
46086
46085
|
Show \`docs/project-map.mdx\` and explain what it contains: resources, commands,
|
|
@@ -46104,7 +46103,7 @@ Observation focus: full template lifecycle, conflict resolution pattern.
|
|
|
46104
46103
|
|
|
46105
46104
|
**automation: none**
|
|
46106
46105
|
Use the non-technical variant for each lesson. Agent writes all code -- user
|
|
46107
|
-
never types code. Agent runs \`elevasis exec\` for verification and narrates results.
|
|
46106
|
+
never types code. Agent runs \`elevasis-sdk exec\` for verification and narrates results.
|
|
46108
46107
|
Avoid all jargon; use analogies. CLI is the primary verification tool.
|
|
46109
46108
|
Always deploy before directing the user to the Command Center.
|
|
46110
46109
|
|
|
@@ -46200,7 +46199,7 @@ by the \`<!-- initialized: false -->\` flag in CLAUDE.md, or run manually.
|
|
|
46200
46199
|
\`\`\`
|
|
46201
46200
|
No other keys (no \`NODE_ENV\`, no extras). The \`.env\` file must contain
|
|
46202
46201
|
only \`ELEVASIS_PLATFORM_KEY\`.
|
|
46203
|
-
Validate the key works: run \`elevasis resources\` (should return an empty
|
|
46202
|
+
Validate the key works: run \`elevasis-sdk resources\` (should return an empty
|
|
46204
46203
|
list, not an auth error). If auth fails, tell the user their key appears
|
|
46205
46204
|
invalid and ask them to check it in the Elevasis dashboard.
|
|
46206
46205
|
|
|
@@ -46261,7 +46260,7 @@ by the \`<!-- initialized: false -->\` flag in CLAUDE.md, or run manually.
|
|
|
46261
46260
|
- If git remote exists: note remote URL in memory/profile/preferences.md
|
|
46262
46261
|
|
|
46263
46262
|
5. **Verify project**
|
|
46264
|
-
Run \`elevasis check\` to confirm the starter resource is valid.
|
|
46263
|
+
Run \`elevasis-sdk check\` to confirm the starter resource is valid.
|
|
46265
46264
|
Optionally deploy the echo workflow.
|
|
46266
46265
|
|
|
46267
46266
|
6. **Report**
|
|
@@ -46290,7 +46289,7 @@ Detect and repair all drift. Optionally upgrades the SDK first.
|
|
|
46290
46289
|
|
|
46291
46290
|
0. **SDK version check** -- Compare installed \`@elevasis/sdk\` against the latest
|
|
46292
46291
|
available. If behind, offer to run \`pnpm update @elevasis/sdk\` before
|
|
46293
|
-
continuing. If the user accepts, run it, then run \`elevasis update\` to add
|
|
46292
|
+
continuing. If the user accepts, run it, then run \`elevasis-sdk update\` to add
|
|
46294
46293
|
any new managed files and flag conflicts. For each flagged file:
|
|
46295
46294
|
- Read the current project file and the new template from \`@elevasis/sdk/templates\`
|
|
46296
46295
|
- Add new sections that don't exist; preserve user customizations
|
|
@@ -46319,7 +46318,7 @@ Detect and repair all drift. Optionally upgrades the SDK first.
|
|
|
46319
46318
|
suggest adding patterns. Surface suggestions only -- do not auto-generate.
|
|
46320
46319
|
8. **Project map freshness:** Check whether \`docs/project-map.mdx\` reflects the
|
|
46321
46320
|
current project state (resources, commands, rules, skills, memory files).
|
|
46322
|
-
Compare filesystem state against the map. If stale, run \`elevasis deploy\`
|
|
46321
|
+
Compare filesystem state against the map. If stale, run \`elevasis-sdk deploy\`
|
|
46323
46322
|
to regenerate, or patch inline for minor drift.
|
|
46324
46323
|
|
|
46325
46324
|
Each step reports its result. Steps 1-8 run even if step 0 is skipped.
|
|
@@ -46329,11 +46328,11 @@ Each step reports its result. Steps 1-8 run even if step 0 is skipped.
|
|
|
46329
46328
|
0. Read \`reference/deployment/command-view.mdx\` -- understand the Command View
|
|
46330
46329
|
model, relationship declarations, and what deploy-time validation checks.
|
|
46331
46330
|
This context is essential for diagnosing validation failures in steps 1-2.
|
|
46332
|
-
1. Run \`elevasis check\` (validation)
|
|
46331
|
+
1. Run \`elevasis-sdk check\` (validation)
|
|
46333
46332
|
2. Type check if \`tsconfig.json\` exists
|
|
46334
46333
|
3. Verify docs reflect current resources
|
|
46335
46334
|
4. If git configured: stage changes, commit with deploy message
|
|
46336
|
-
5. Run \`elevasis deploy\`
|
|
46335
|
+
5. Run \`elevasis-sdk deploy\`
|
|
46337
46336
|
6. \`docs/project-map.mdx\` is auto-regenerated by deploy (no manual bump needed)
|
|
46338
46337
|
7. Verify deployment via platform
|
|
46339
46338
|
8. Update \`memory/deployment-state.md\` with count, timestamp, inventory
|
|
@@ -46846,7 +46845,7 @@ occurred multiple times or represent a deliberate convention -- not speculative
|
|
|
46846
46845
|
## Rule File Ownership
|
|
46847
46846
|
|
|
46848
46847
|
This file is yours. The other \`.claude/rules/\` files are SDK-owned and updated by
|
|
46849
|
-
\`elevasis update\` -- do not add project-specific notes to them, add them here instead:
|
|
46848
|
+
\`elevasis-sdk update\` -- do not add project-specific notes to them, add them here instead:
|
|
46850
46849
|
|
|
46851
46850
|
- \`sdk-patterns.md\` -- SDK imports, source structure, runtime, adapter patterns
|
|
46852
46851
|
- \`docs-authoring.md\` -- MDX escaping, frontmatter, docs conventions
|
|
@@ -46931,10 +46930,10 @@ description: Project map conventions -- auto-generated, do not edit, maintained
|
|
|
46931
46930
|
|
|
46932
46931
|
# Project Map
|
|
46933
46932
|
|
|
46934
|
-
- \`docs/project-map.mdx\` and \`docs/resource-map.mdx\` are fully auto-generated by \`elevasis deploy\`
|
|
46933
|
+
- \`docs/project-map.mdx\` and \`docs/resource-map.mdx\` are fully auto-generated by \`elevasis-sdk deploy\`
|
|
46935
46934
|
- Do not edit either file manually -- changes are overwritten on next deploy
|
|
46936
46935
|
- \`/meta fix\` step 8 checks for drift and patches the map
|
|
46937
|
-
- If a new command, rule, skill, or memory file is added, run \`/meta fix\` or \`elevasis deploy\` to update
|
|
46936
|
+
- If a new command, rule, skill, or memory file is added, run \`/meta fix\` or \`elevasis-sdk deploy\` to update
|
|
46938
46937
|
`;
|
|
46939
46938
|
}
|
|
46940
46939
|
function claudeTaskTrackingRuleTemplate() {
|
|
@@ -47372,11 +47371,12 @@ var MANAGED_FILES = [
|
|
|
47372
47371
|
".claude/rules/docs-authoring.md",
|
|
47373
47372
|
".claude/rules/memory-conventions.md",
|
|
47374
47373
|
".claude/rules/project-map.md",
|
|
47375
|
-
".claude/rules/task-tracking.md"
|
|
47374
|
+
".claude/rules/task-tracking.md",
|
|
47375
|
+
".claude/scripts/statusline-command.js"
|
|
47376
47376
|
];
|
|
47377
47377
|
var SCAFFOLD_FILES = [...INIT_ONLY_FILES, ...MANAGED_FILES];
|
|
47378
47378
|
function registerInitCommand(program3) {
|
|
47379
|
-
program3.command("init [directory]").description("Scaffold a new Elevasis workspace\n Example: elevasis init my-workspace").option("--force", "Overwrite existing files").option("--ui", "Include a Vite + React UI app in ui/").action(wrapAction("init", async (directory, options2) => {
|
|
47379
|
+
program3.command("init [directory]").description("Scaffold a new Elevasis workspace\n Example: elevasis-sdk init my-workspace").option("--force", "Overwrite existing files").option("--ui", "Include a Vite + React UI app in ui/").action(wrapAction("init", async (directory, options2) => {
|
|
47380
47380
|
const targetDir = directory ? (0, import_path3.resolve)(directory) : process.cwd();
|
|
47381
47381
|
const orgSlug = toSlug((0, import_path3.basename)(targetDir));
|
|
47382
47382
|
if (!options2.force) {
|
|
@@ -47403,6 +47403,7 @@ function registerInitCommand(program3) {
|
|
|
47403
47403
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, "src/shared"), { recursive: true });
|
|
47404
47404
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, "docs/in-progress"), { recursive: true });
|
|
47405
47405
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, ".claude/hooks"), { recursive: true });
|
|
47406
|
+
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, ".claude/scripts"), { recursive: true });
|
|
47406
47407
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, ".claude/commands"), { recursive: true });
|
|
47407
47408
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, ".claude/skills/creds"), { recursive: true });
|
|
47408
47409
|
await (0, import_promises2.mkdir)((0, import_path3.resolve)(targetDir, ".claude/rules"), { recursive: true });
|
|
@@ -47439,7 +47440,8 @@ function registerInitCommand(program3) {
|
|
|
47439
47440
|
".claude/rules/docs-authoring.md": claudeDocsAuthoringRuleTemplate(),
|
|
47440
47441
|
".claude/rules/memory-conventions.md": claudeMemoryConventionsRuleTemplate(),
|
|
47441
47442
|
".claude/rules/project-map.md": claudeProjectMapRuleTemplate(),
|
|
47442
|
-
".claude/rules/task-tracking.md": claudeTaskTrackingRuleTemplate()
|
|
47443
|
+
".claude/rules/task-tracking.md": claudeTaskTrackingRuleTemplate(),
|
|
47444
|
+
".claude/scripts/statusline-command.js": claudeStatuslineScriptTemplate()
|
|
47443
47445
|
};
|
|
47444
47446
|
if (options2.ui) {
|
|
47445
47447
|
Object.assign(files, getUIFiles(orgSlug));
|
|
@@ -47455,8 +47457,8 @@ function registerInitCommand(program3) {
|
|
|
47455
47457
|
}
|
|
47456
47458
|
console.log(source_default.gray(" pnpm install"));
|
|
47457
47459
|
console.log(source_default.gray(" # Copy .env.example to .env and add your API key"));
|
|
47458
|
-
console.log(source_default.gray(" elevasis check"));
|
|
47459
|
-
console.log(source_default.gray(" elevasis deploy"));
|
|
47460
|
+
console.log(source_default.gray(" elevasis-sdk check"));
|
|
47461
|
+
console.log(source_default.gray(" elevasis-sdk deploy"));
|
|
47460
47462
|
if (options2.ui) {
|
|
47461
47463
|
console.log("");
|
|
47462
47464
|
console.log(source_default.gray(" UI app:"));
|
|
@@ -47769,7 +47771,7 @@ async function listCreds(apiUrl, json2) {
|
|
|
47769
47771
|
}
|
|
47770
47772
|
if (data.credentials.length === 0) {
|
|
47771
47773
|
console.log(source_default.yellow("No credentials found."));
|
|
47772
|
-
console.log(source_default.gray("Create one with: elevasis creds create --name my-key --type api-key"));
|
|
47774
|
+
console.log(source_default.gray("Create one with: elevasis-sdk creds create --name my-key --type api-key"));
|
|
47773
47775
|
return;
|
|
47774
47776
|
}
|
|
47775
47777
|
console.log(source_default.cyan(`
|
|
@@ -47861,7 +47863,7 @@ Example: --value '{"apiKey":"sk-new-key"}'`
|
|
|
47861
47863
|
spinner.stop();
|
|
47862
47864
|
throw new Error(
|
|
47863
47865
|
`Credential '${name}' not found.
|
|
47864
|
-
Run "elevasis creds list" to see available credentials.`
|
|
47866
|
+
Run "elevasis-sdk creds list" to see available credentials.`
|
|
47865
47867
|
);
|
|
47866
47868
|
}
|
|
47867
47869
|
await apiPatch(`/api/external/credentials/${credential.id}`, { value }, apiUrl);
|
|
@@ -47888,7 +47890,7 @@ async function renameCreds(apiUrl, name, newName) {
|
|
|
47888
47890
|
spinner.stop();
|
|
47889
47891
|
throw new Error(
|
|
47890
47892
|
`Credential '${name}' not found.
|
|
47891
|
-
Run "elevasis creds list" to see available credentials.`
|
|
47893
|
+
Run "elevasis-sdk creds list" to see available credentials.`
|
|
47892
47894
|
);
|
|
47893
47895
|
}
|
|
47894
47896
|
const conflict = data.credentials.find((c) => c.name === newName);
|
|
@@ -47922,7 +47924,7 @@ async function deleteCreds(apiUrl, name, force) {
|
|
|
47922
47924
|
spinner.stop();
|
|
47923
47925
|
throw new Error(
|
|
47924
47926
|
`Credential '${name}' not found.
|
|
47925
|
-
Run "elevasis creds list" to see available credentials.`
|
|
47927
|
+
Run "elevasis-sdk creds list" to see available credentials.`
|
|
47926
47928
|
);
|
|
47927
47929
|
}
|
|
47928
47930
|
spinner.stop();
|
|
@@ -47971,22 +47973,22 @@ function registerCredsCommand(program3) {
|
|
|
47971
47973
|
// src/cli/index.ts
|
|
47972
47974
|
(0, import_dotenv.config)({ path: (0, import_path5.resolve)(process.cwd(), ".env"), override: true });
|
|
47973
47975
|
var program2 = new Command();
|
|
47974
|
-
program2.name("elevasis").description(
|
|
47976
|
+
program2.name("elevasis-sdk").description(
|
|
47975
47977
|
source_default.cyan("Elevasis SDK CLI") + `
|
|
47976
47978
|
|
|
47977
47979
|
Commands:
|
|
47978
|
-
elevasis check Validate project resources
|
|
47979
|
-
elevasis deploy Bundle and deploy to platform
|
|
47980
|
-
elevasis resources List deployed resources
|
|
47981
|
-
elevasis describe <resourceId> Describe a resource
|
|
47982
|
-
elevasis exec <resourceId> -i '{}' Execute a resource
|
|
47983
|
-
elevasis executions <resourceId> List execution history
|
|
47984
|
-
elevasis execution <resourceId> <id> Get execution details
|
|
47985
|
-
elevasis deployments List deployments
|
|
47986
|
-
elevasis update Update workspace scaffold to latest template
|
|
47987
|
-
elevasis init [directory] Scaffold a new workspace
|
|
47988
|
-
|
|
47989
|
-
Use "elevasis <command> --help" for more information about a command.`
|
|
47980
|
+
elevasis-sdk check Validate project resources
|
|
47981
|
+
elevasis-sdk deploy Bundle and deploy to platform
|
|
47982
|
+
elevasis-sdk resources List deployed resources
|
|
47983
|
+
elevasis-sdk describe <resourceId> Describe a resource
|
|
47984
|
+
elevasis-sdk exec <resourceId> -i '{}' Execute a resource
|
|
47985
|
+
elevasis-sdk executions <resourceId> List execution history
|
|
47986
|
+
elevasis-sdk execution <resourceId> <id> Get execution details
|
|
47987
|
+
elevasis-sdk deployments List deployments
|
|
47988
|
+
elevasis-sdk update Update workspace scaffold to latest template
|
|
47989
|
+
elevasis-sdk init [directory] Scaffold a new workspace
|
|
47990
|
+
|
|
47991
|
+
Use "elevasis-sdk <command> --help" for more information about a command.`
|
|
47990
47992
|
).version(SDK_VERSION);
|
|
47991
47993
|
registerCheckCommand(program2);
|
|
47992
47994
|
registerDeployCommand(program2);
|
package/dist/index.d.ts
CHANGED
|
@@ -6334,7 +6334,7 @@ type ResourceStatus = 'dev' | 'prod';
|
|
|
6334
6334
|
* Organization is derived from the ELEVASIS_PLATFORM_KEY -- not configured here.
|
|
6335
6335
|
*/
|
|
6336
6336
|
interface ElevasConfig {
|
|
6337
|
-
/** Managed by `elevasis init` and `elevasis update`. Do not set manually. */
|
|
6337
|
+
/** Managed by `elevasis-sdk init` and `elevasis-sdk update`. Do not set manually. */
|
|
6338
6338
|
templateVersion?: number;
|
|
6339
6339
|
defaultStatus?: ResourceStatus;
|
|
6340
6340
|
dev?: {
|