@elevasis/sdk 1.5.4 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +330 -64
- package/dist/index.d.ts +7 -4
- package/package.json +3 -3
- package/reference/_navigation.md +2 -1
- package/reference/_reference-manifest.json +16 -2
- package/reference/claude-config/commands/submit-request.md +11 -0
- package/reference/claude-config/skills/project/SKILL.md +96 -39
- package/reference/claude-config/skills/submit-request/SKILL.md +180 -0
- package/reference/scaffold/reference/contracts.md +1 -1
- package/reference/scaffold/reference/feature-registry.md +1 -1
- package/reference/claude-config/commands/submit-issue.md +0 -12
- package/reference/claude-config/skills/submit-issue/SKILL.md +0 -179
|
@@ -25,7 +25,7 @@ Feature IDs defined in `DEFAULT_ORGANIZATION_MODEL.features` (`packages/core/src
|
|
|
25
25
|
|
|
26
26
|
```typescript
|
|
27
27
|
// FeatureSchema: { id, label, enabled, color?, icon?, entityIds, surfaceIds, resourceIds, capabilityIds }
|
|
28
|
-
type DefaultFeatureId =
|
|
28
|
+
type DefaultFeatureId = 'submitted-requests'
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
These are the built-in feature IDs. The `featureId` field on a `FeatureModule` manifest must match the `id` of a feature in the organization model to enable access-flag gating.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Submit Issue
|
|
2
|
-
|
|
3
|
-
**Usage:** `/submit-issue [optional one-line description]`
|
|
4
|
-
|
|
5
|
-
**Goal:** File a structured issue report to the Elevasis platform after agent-driven pre-analysis.
|
|
6
|
-
|
|
7
|
-
**EXECUTE:** `.claude/skills/submit-issue/SKILL.md`
|
|
8
|
-
|
|
9
|
-
## Env Requirements
|
|
10
|
-
|
|
11
|
-
- `ELEVASIS_API_URL` (base URL of the Elevasis API)
|
|
12
|
-
- `ELEVASIS_API_KEY` (Bearer `sk_*`, provisioned via Command Center → Settings → API Keys)
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: submit-issue
|
|
3
|
-
description: Submit a structured issue report to the Elevasis platform via API — enforces pre-analysis before posting
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Submit Issue
|
|
7
|
-
|
|
8
|
-
Submit a structured issue report to the Elevasis platform. The agent performs a six-phase analysis before posting so that every submitted issue includes meaningful context, not just a one-liner.
|
|
9
|
-
|
|
10
|
-
**Usage:** `/submit-issue [optional description]`
|
|
11
|
-
|
|
12
|
-
If a description is provided, it is the primary signal for Phase 1. Otherwise the agent analyzes recent conversation context (~20 messages) plus any active error context.
|
|
13
|
-
|
|
14
|
-
## Env Requirements
|
|
15
|
-
|
|
16
|
-
Both variables must be present in the project's root `.env`:
|
|
17
|
-
|
|
18
|
-
| Variable | Description |
|
|
19
|
-
| ------------------ | --------------------------------------------------------------------------------------------- |
|
|
20
|
-
| `ELEVASIS_API_URL` | Platform API base URL (e.g. `https://api.elevasis.io`) |
|
|
21
|
-
| `ELEVASIS_API_KEY` | API key starting with `sk_` (67 chars), provisioned from Command Center > Settings > API Keys |
|
|
22
|
-
|
|
23
|
-
The organization is resolved server-side from the key. Never include an `organization_id` in the request body.
|
|
24
|
-
|
|
25
|
-
## Pre-Analysis Phases
|
|
26
|
-
|
|
27
|
-
Complete all six phases before assembling the report or asking for confirmation. Do not skip phases — they ensure the submitted record is actionable.
|
|
28
|
-
|
|
29
|
-
### Phase 1: Collect Context
|
|
30
|
-
|
|
31
|
-
Gather available context:
|
|
32
|
-
|
|
33
|
-
- If the user provided a description with the command, treat it as the primary signal.
|
|
34
|
-
- Otherwise review the last ~20 conversation messages for error output, failed commands, unexpected behavior, and any `explain_page` / active error context.
|
|
35
|
-
- Ask one targeted follow-up question if a key detail is ambiguous. Do not fire multiple questions at once.
|
|
36
|
-
|
|
37
|
-
### Phase 2: Identify Source
|
|
38
|
-
|
|
39
|
-
Pinpoint where the issue originates:
|
|
40
|
-
|
|
41
|
-
- File paths (if a code or config file is involved)
|
|
42
|
-
- Workflow or agent resource IDs (if a platform execution failed)
|
|
43
|
-
- Execution IDs (if available in logs or prior output)
|
|
44
|
-
- Route or page path (if a UI issue)
|
|
45
|
-
|
|
46
|
-
Record these for the `evidence` and `affected_page` fields.
|
|
47
|
-
|
|
48
|
-
### Phase 3: Gather Errors
|
|
49
|
-
|
|
50
|
-
Extract concrete error signals:
|
|
51
|
-
|
|
52
|
-
- Full error messages and stack traces (truncated to the relevant portion)
|
|
53
|
-
- HTTP status codes and response bodies
|
|
54
|
-
- Log lines with timestamps if available
|
|
55
|
-
- Screenshots or screenshot file references if the user provided them
|
|
56
|
-
|
|
57
|
-
These go into the `evidence` object.
|
|
58
|
-
|
|
59
|
-
### Phase 4: Classify Severity and Category
|
|
60
|
-
|
|
61
|
-
Select exactly one value for each:
|
|
62
|
-
|
|
63
|
-
**Severity:**
|
|
64
|
-
|
|
65
|
-
| Value | When to use |
|
|
66
|
-
| ---------- | ------------------------------------------------------------------- |
|
|
67
|
-
| `critical` | Data loss, security breach, complete feature outage, blocked deploy |
|
|
68
|
-
| `warning` | Degraded behavior, partial failure, noticeable but recoverable |
|
|
69
|
-
| `info` | Minor UX glitch, cosmetic bug, improvement suggestion |
|
|
70
|
-
|
|
71
|
-
**Category:**
|
|
72
|
-
|
|
73
|
-
| Value | When to use |
|
|
74
|
-
| -------------------- | ------------------------------------------------------ |
|
|
75
|
-
| `ui_bug` | Frontend rendering or interaction problem |
|
|
76
|
-
| `data_inconsistency` | DB records, API responses, or UI state don't match |
|
|
77
|
-
| `performance` | Slow load, timeout, high resource usage |
|
|
78
|
-
| `error_pattern` | Recurring or systematic error across executions |
|
|
79
|
-
| `configuration` | Misconfigured resource, credential, env var, or policy |
|
|
80
|
-
| `other` | Doesn't fit above |
|
|
81
|
-
|
|
82
|
-
### Phase 5: Build Structured Report
|
|
83
|
-
|
|
84
|
-
Assemble the request body from phases 1–4:
|
|
85
|
-
|
|
86
|
-
```json
|
|
87
|
-
{
|
|
88
|
-
"title": "One-line summary — specific, not vague",
|
|
89
|
-
"description": "What happened. What was expected. Steps to reproduce if applicable.",
|
|
90
|
-
"severity": "<critical|warning|info>",
|
|
91
|
-
"category": "<category value>",
|
|
92
|
-
"affected_page": "<route or page path, omit if not a UI issue>",
|
|
93
|
-
"evidence": {
|
|
94
|
-
"errors": ["<error message or stack trace excerpt>"],
|
|
95
|
-
"log_snippets": ["<relevant log lines>"],
|
|
96
|
-
"screenshot_refs": ["<file path if user provided a screenshot>"]
|
|
97
|
-
},
|
|
98
|
-
"context": {
|
|
99
|
-
"source_files": ["<file paths>"],
|
|
100
|
-
"resource_ids": ["<workflow or agent IDs>"],
|
|
101
|
-
"execution_ids": ["<execution IDs>"],
|
|
102
|
-
"summary": "<one-paragraph agent analysis summary>"
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Omit any field that has nothing meaningful to record. `project_id` and `task_id` are optional UUID fields — include them only if the issue is clearly scoped to a specific project or task visible in context.
|
|
108
|
-
|
|
109
|
-
### Phase 6: Confirm with User
|
|
110
|
-
|
|
111
|
-
Unless the command was invoked with `--auto`, present the assembled report to the user before submitting:
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
Issue Report (ready to submit)
|
|
115
|
-
================================
|
|
116
|
-
Title: <title>
|
|
117
|
-
Severity: <severity>
|
|
118
|
-
Category: <category>
|
|
119
|
-
Page: <affected_page or "—">
|
|
120
|
-
|
|
121
|
-
Description:
|
|
122
|
-
<description>
|
|
123
|
-
|
|
124
|
-
Evidence:
|
|
125
|
-
<summarized evidence>
|
|
126
|
-
|
|
127
|
-
Context:
|
|
128
|
-
<summarized context>
|
|
129
|
-
|
|
130
|
-
Submit? (yes / edit / cancel)
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
If the user says "edit", accept corrections and re-display the updated report before proceeding.
|
|
134
|
-
If the user says "cancel", abort and confirm: "Submission cancelled."
|
|
135
|
-
Auto-submit (`--auto`) skips this confirmation entirely — use only when the caller is a trusted agent pipeline.
|
|
136
|
-
|
|
137
|
-
## Submit
|
|
138
|
-
|
|
139
|
-
Once confirmed (or `--auto`), POST to the external issues endpoint:
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
curl -sS -X POST "${ELEVASIS_API_URL}/api/external/issues" \
|
|
143
|
-
-H "Authorization: Bearer ${ELEVASIS_API_KEY}" \
|
|
144
|
-
-H "Content-Type: application/json" \
|
|
145
|
-
-d @- <<'JSON'
|
|
146
|
-
{
|
|
147
|
-
"title": "...",
|
|
148
|
-
"description": "...",
|
|
149
|
-
"severity": "warning",
|
|
150
|
-
"category": "ui_bug",
|
|
151
|
-
"affected_page": "/projects/abc",
|
|
152
|
-
"evidence": {},
|
|
153
|
-
"context": {}
|
|
154
|
-
}
|
|
155
|
-
JSON
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Do NOT include `source` or `organization_id` in the body — the server sets both automatically.
|
|
159
|
-
|
|
160
|
-
## Report Back
|
|
161
|
-
|
|
162
|
-
On a successful response (2xx), surface the issue ID to the user:
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
Submitted — id: <uuid>
|
|
166
|
-
Track it in Command Center > Issues.
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
If the response body contains additional fields (status, created_at), include them in a brief one-line summary.
|
|
170
|
-
|
|
171
|
-
## Troubleshooting
|
|
172
|
-
|
|
173
|
-
| Status | Cause | Fix |
|
|
174
|
-
| ------------------ | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
175
|
-
| `401 Unauthorized` | `ELEVASIS_API_KEY` is missing, malformed, or revoked | Verify the key in root `.env` starts with `sk_` and is 67 chars. Re-provision from Command Center > Settings > API Keys if needed. |
|
|
176
|
-
| `403 Forbidden` | Key exists but the associated org lacks access to issue reporting | Contact the platform operator to verify the key's org permissions. |
|
|
177
|
-
| `400 Bad Request` | Request body failed validation | Read the response body for the specific field error. Common causes: missing `title` or `description`, invalid `severity` or `category` value. |
|
|
178
|
-
| `404 Not Found` | `ELEVASIS_API_URL` is wrong or the endpoint path has a typo | Confirm the URL in `.env` (no trailing slash) and that the path is exactly `/api/external/issues`. |
|
|
179
|
-
| Connection refused | API server unreachable | Check `ELEVASIS_API_URL` and network connectivity. For local dev, confirm the API server is running. |
|