@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 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.10",
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 = 23;
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?: {