दस्तावेज़
एआई सत्र और क्रियाएँ
प्रदाता, क्रेडेंशियल, वार्तालाप, स्ट्रीमिंग टर्न, एक्शन इनवोकेशन, ब्रिज टोकन, कौशल और सत्र पुनर्प्राप्ति।
स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें
इन अनुरोधों को अपने स्वयं के चल रहे साइडकार को भेजें। मान इस ब्राउज़र में रहते हैं.
यह कैसे काम करता है
साइडकार स्टार्टअप पर चुने गए लूपबैक पोर्ट पर सुनता है और इसे प्रिंट करता है ready रेखा; उस यूआरएल का उपयोग करें और CADCAMFUN_TOKEN इसकी शुरुआत की गई थी. अनुरोध सीधे इस पृष्ठ से उस पते पर जाते हैं।
साइडकार CORS हेडर को केवल टौरी मूल और तक भेजता है http://localhost या http://127.0.0.1 किसी भी बंदरगाह पर. होस्ट किए गए दस्तावेज़ों से ब्राउज़र प्रतिक्रिया को अवरुद्ध कर देता है, इसलिए दस्तावेज़ों को स्थानीय रूप से चलाएँ (bun run dev में packages/web) खेल के मैदान का उपयोग करने के लिए, या अनुरोध को कर्ल के रूप में कॉपी करें। वास्तविक डेटा को छुए बिना प्रयोग करने के लिए, साइडकार से शुरुआत करें CADCAMFUN_DATA_DIR एक बेकार निर्देशिका की ओर इशारा किया - देखें एपीआई वॉकथ्रू.
संचालन
52 एंडपॉइंट ai समूह, साइडकार के स्वयं से उत्पन्न ओपनएपीआई दस्तावेज़. संरक्षित संचालन लेते हैं Authorization: Bearer $CADCAMFUN_TOKEN; देखना प्रमाणीकरण. व्यवहार और मर्यादा में हैं सबसिस्टम गाइड.
| पाना | /api/ai/actions | ai.actions |
| डाक | /api/ai/actions/invoke | ai.invokeAction |
| डाक | /api/ai/bridge/tokens | ai.issueBridgeToken |
| पाना | /api/ai/bridge/tokens | ai.bridgeTokens |
| मिटाना | /api/ai/bridge/tokens/{id} | ai.revokeBridgeToken |
| पाना | /api/ai/agents | ai.agents |
| डाक | /api/ai/sessions/control | ai.sessionControl |
| डाक | /api/ai/sessions/state | ai.sessionState |
| डाक | /api/ai/sessions/remove | ai.removeSession |
| पाना | /api/ai/extensions/mcp | ai.mcpServers |
| रखना | /api/ai/extensions/mcp | ai.saveMcpServer |
| मिटाना | /api/ai/extensions/mcp/{name} | ai.deleteMcpServer |
| मिटाना | /api/ai/extensions/plugins/{id} | ai.removeExtensionPlugin |
| रखना | /api/ai/extensions/plugins/{id} | ai.toggleExtensionPlugin |
| पाना | /api/ai/extensions/plugins | ai.extensionPlugins |
| डाक | /api/ai/extensions/plugins | ai.installExtensionPlugin |
| पाना | /api/ai/extensions/mods | ai.extensionMods |
| रखना | /api/ai/extensions/mods/{id} | ai.toggleExtensionMod |
| मिटाना | /api/ai/extensions/mods/{id} | ai.removeExtensionMod |
| पाना | /api/ai/modes | ai.modes |
| पाना | /api/ai/skills | ai.skills |
| रखना | /api/ai/skills | ai.saveSkill |
| मिटाना | /api/ai/skills/{name} | ai.deleteSkill |
| रखना | /api/ai/credentials | ai.setCredentials |
| मिटाना | /api/ai/credentials/{provider} | ai.clearCredentials |
| पाना | /api/ai/status | ai.status |
| पाना | /api/ai/models | ai.models |
| पाना | /api/ai/providers | ai.providers |
| डाक | /api/ai/models/refresh | ai.refreshModels |
| पाना | /api/ai/prompts | ai.prompts |
| डाक | /api/ai/title | ai.title |
| डाक | /api/ai/design-analysis | ai.designAnalysis |
| डाक | /api/ai/machining-parameters | ai.machiningParameters |
| डाक | /api/ai/gcode-optimization | ai.gcodeOptimization |
| डाक | /api/ai/design-suggestions | ai.designSuggestions |
| डाक | /api/ai/chat | ai.chat |
| डाक | /api/ai/chat/stream | ai.chatStream |
| डाक | /api/ai/sessions/prompt | ai.sessionPrompt |
| पाना | /api/ai/sessions/{sessionId}/stream | ai.sessionStream |
| पाना | /api/ai/sessions | ai.sessionList |
| पाना | /api/ai/sessions/{sessionId}/messages | ai.sessionMessages |
| डाक | /api/ai/chat/queue | ai.chatQueue |
| डाक | /api/ai/chat/abort | ai.chatAbort |
| डाक | /api/ai/permission/reply | ai.permissionReply |
| डाक | /api/ai/completion | ai.completion |
| डाक | /api/ai/analyze-gcode | ai.analyzeGcode |
| डाक | /api/ai/gcode | ai.gcode |
| डाक | /api/ai/toolpath-analysis | ai.toolpathAnalysis |
| डाक | /api/ai/feedback | ai.feedback |
| डाक | /api/ai/proxy | ai.proxy |
| डाक | /api/ai/oauth/authorize | ai.oauthAuthorize |
| डाक | /api/ai/oauth/complete | ai.oauthComplete |
/api/ai/actions
ai.actions आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ tools: Array<{ id: string description: string kind: "read" | "write" | "destructive" actions: Array<{ id: string name: string kind: "read" | "write" | "destructive" }> parameters: object }> }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
{
"tools": [
{
"id": "cad",
"description": "Read the open drawing. All actions are read-only.\n\nActions\n- describe: the drawing: counts, bounds and layers. Start here.\n- check: model checks (sizes, rotations, Boolean operands, duplicates, floating parts); fix findings after modelling.\n- relations: bounds, placement, distances and parameter dependencies; equal names do not bind parameters.\n- grep: search ids, names, layers and properties; includes each parametric hit's revision.\n- vision: the CAD viewport plus scene evidence as an image.\n- inspect_elements: full properties and bounds of elements, paged.\n- inspect_layers: the workspace layers and the active one.\n- inspect_search: elements whose text matches a query, paged.\n- inspect_property: one property of one element by path, paged by characters.\n- parametric_validate: rebuild a parametric history and report what it cannot build.\n- parametric_inspect: history, parameters and report of one parametric part.\n- drawing: technical sheet from one elementId or history; options (sheet, projection, views, section, detail: see schema). SVG, dimensions, callouts, warnings; exact B-rep edges where available; nothing stored.\n- parametric_test: run parameter variants; report bodies, volumes and dimensional checks.\n- parametric_dfm: manufacturability findings for a history or an existing part.\n- parametric_exact: exact B-rep per body (volume, area, centroid, throughHoles, faces, surfaces) or why mesh-only; STEP on request.\n- exact: every solid on the exact kernel: validity, volume, bounds, holes, and whether CAM machines it by features or as a 3D surface, with why.\n- assembly: exact interference (clash volumes), bill of materials with mass, hole joints, fasteners still missing.\n- parametric_fastener: thread, tap drill, clearance and counterbore of a metric size.\n- parametric_recipe: standard part history from `recipe` (mounting_plate, flange, l_bracket, stepped_shaft, pipe_bend, duct_transition, enclosure) and `params`; cad_edit.parametric_recipe_create stores it.\n- parametric_from_element: history with named parameters from an existing solid, flat shape or component; cad_edit.parametric_convert stores it.\n\nParameters (mm, radians; ids are read, never invented)\n- describe, check, inspect_layers: none.\n- relations: firstId, secondId - two different existing ids.\n- grep: query (1-200 chars), layerId, parametricOnly, includeParameters, offset, limit (1-50).\n- vision: focus - wha
… एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.actions() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/actions" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.invokeAction आवश्यक है Authorization: Bearer <token>.
{ projectId: string drawingId?: string | null callId?: string | null tool: string input: object }
200 वस्तु application/json
{ tool: string action: string result: unknown }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiInvokeActionInput
const result = await client.ai.invokeAction({
projectId: "",
drawingId: "",
callId: "",
tool: "",
input: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/actions/invoke" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/bridge
ai.issueBridgeToken आवश्यक है Authorization: Bearer <token>.
{ name?: string | null projectId: string mode: "read" | "write" days?: number | "Infinity" | "-Infinity" | "NaN" | null }
200 वस्तु application/json
{ info: { id: string name: string projectId: string mode: "read" | "write" userId: string createdAt: string expiresAt: string } token: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiIssueBridgeTokenInput
const result = await client.ai.issueBridgeToken({
name: "",
projectId: "",
mode: "read",
days: 0
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/bridge/tokens" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.bridgeTokens आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string name: string projectId: string mode: "read" | "write" userId: string createdAt: string expiresAt: string }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[] एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.bridgeTokens() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/bridge/tokens" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.revokeBridgeToken आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ message: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiRevokeBridgeTokenInput
const result = await client.ai.revokeBridgeToken({
id: "<id>"
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/bridge/tokens/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/agents
ai.agents आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string title: string description: string tools: string[] edits: boolean kind?: string | null canEdit?: boolean | null delegates?: boolean | null }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[
{
"id": "general",
"title": "General",
"description": "Does drawing and machining itself, and delegates separable work to subagents (background tasks included).",
"tools": [],
"edits": true
},
{
"id": "cad",
"title": "CAD",
"description": "Drawing and 3D modelling. Reads the machining side but does not change operations, G-code or the machining libraries.",
"tools": [],
"edits": true
},
{
"id": "cam",
"title": "CAM",
"description": "Machining: operations, G-code, verification and the machining libraries. Reads the drawing but does not change it.",
"tools": [],
"edits": true
}
] एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.agents() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/agents" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/sessions
ai.sessionControl आवश्यक है Authorization: Bearer <token>.
{ sessionId: string projectId?: string | null action: "status" | "compact" | "cancel_task" | "answer_question" | "reject_question" | "reply_permission" | "consolidate_memory" | "context" | "acceptance" | "set_acceptance" criteria?: unknown | null taskId?: string | null requestId?: string | null answers?: string[][] | null decision?: "once" | "always" | "reject" | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ goal?: { objective: string status: "active" | "paused" | "blocked" | "usage_limited" | "budget_limited" | "complete" iteration: number | "Infinity" | "-Infinity" | "NaN" tokensUsed: number | "NaN" tokenBudget?: number | "NaN" | null } | null permissions?: Array<{ requestId: string sessionId: string permission: string patterns: string[] }> | null busy: boolean text: string tasks: Array<{ id: string agent: string description: string status: "queued" | "running" | "completed" | "error" | "cancelled" background: boolean text?: string | null error?: string | null createdAt?: number | "Infinity" | "-Infinity" | "NaN" | null startedAt?: number | "Infinity" | "-Infinity" | "NaN" | null finishedAt?: number | "Infinity" | "-Infinity" | "NaN" | null }> questions: Array<{ requestId: string questions: Array<{ header: string question: string options: Array<{ label: string description: string }> multiple?: boolean | null custom?: boolean | null }> }> engineeringAcceptance?: { status: "accepted" | "failed" | "unmeasured" | "stale" | "not_configured" projectId: string drawingId: string revision: string criteriaDigest?: string | null checks: Array<{ id: string status: "pass" | "fail" | "stale" reason?: string | null report?: unknown | null }> note: string } | null context: { memory?: { enabled: boolean memoryEnabled: boolean minHours: number | "Infinity" | "-Infinity" | "NaN" minSessions: number | "NaN" lastBrainAt: number | "NaN" hoursSinceLastBrain: number | "NaN" sessionsSinceLastBrain: number | "NaN" shouldTrigger: boolean } | null source: "host-config" auto: boolean prune: boolean reserved?: number | "Infinity" | "-Infinity" | "NaN" | null provider?: string | null model?: string | null contextWindow?: number | "Infinity" | "-Infinity" | "NaN" | null maxOutput?: number | "Infinity" | "-Infinity" | "NaN" | null inputWindow?: number | "Infinity" | "-Infinity" | "NaN" | null requestOutput?: number | "Infinity" | "-Infinity" | "NaN" | null compactAt?: number | "Infinity" | "-Infinity" | "NaN" | null tokens?: number | "Infinity" | "-Infinity" | "NaN" | null compacted: boolean breakdown?: { estimatedTotal: number | "Infinity" | "-Infinity" | "NaN" categories: Array<{ category: string tokens: number | "NaN" }> } | null } }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiSessionControlInput
const result = await client.ai.sessionControl({
sessionId: "",
projectId: "",
action: "status",
criteria: null,
taskId: "",
requestId: "",
answers: [
[
""
]
],
decision: "once",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/sessions/control" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.sessionState आवश्यक है Authorization: Bearer <token>.
{ sessionId: string projectId?: string | null }
200 वस्तु application/json
{ busy: boolean text: string error?: string | null tasks?: Array<{ id: string agent: string description: string status: "queued" | "running" | "completed" | "error" | "cancelled" background: boolean text?: string | null error?: string | null createdAt?: number | "Infinity" | "-Infinity" | "NaN" | null startedAt?: number | null finishedAt?: number | null }> | null events?: Array<{ type: "tool_call" sessionId: string agent?: string callId: string tool: string input: unknown } | { type: "tool_result" sessionId: string agent?: string callId: string tool: string ok: boolean output: string images?: string[] } | { type: "todo" sessionId: string todos: Array<{ id?: string content: string status: "pending" | "in_progress" | "completed" | "cancelled" priority?: string }> } | { type: "tool_diagnostic" sessionId: string agent?: string callId: string tool: string kind: "argument" | "execution" | "partial" | "verification" severity: "error" | "warning" | "info" message: string recovery?: string mutationApplied?: boolean }> | null usage?: { inputTokens: number outputTokens: number } | null }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiSessionStateInput
const result = await client.ai.sessionState({
sessionId: "",
projectId: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/sessions/state" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.removeSession आवश्यक है Authorization: Bearer <token>.
{ sessionId: string projectId?: string | null }
200 वस्तु application/json
{ removed: boolean }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiRemoveSessionInput
const result = await client.ai.removeSession({
sessionId: "",
projectId: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/sessions/remove" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.sessionPrompt आवश्यक है Authorization: Bearer <token>.
{ permissionMode?: "auto" | "ask" | "approve" | null agent?: string | null mode?: string | null attachments?: Array<{ name: string mime?: string | null data: string encoding?: "base64" | "text" | null }> | null message?: string | null sessionId?: string | null projectId?: string | null drawingId?: string | null context?: string | null includeContext?: boolean | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ sessionId: string seq: number | "Infinity" | "-Infinity" | "NaN" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
409 ConflictEncoded application/json
ConflictEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/sessions/prompt`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/sessions/prompt" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.sessionStream आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| sessionId | पथ | डोरी | आवश्यक |
| बाद | सवाल | डोरी | null | वैकल्पिक |
200 वस्तु text/event-stream
{ id: string | null event: string data: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/sessions/${sessionId}/stream`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/sessions/<sessionId>/stream" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.sessionList आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| projectId | सवाल | डोरी | आवश्यक |
| आप LIMIT | सवाल | डोरी | null | वैकल्पिक |
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string projectId: string title: string createdAt: string | null updatedAt: string | null busy: boolean }>
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/sessions`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/sessions?projectId=<projectId>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.sessionMessages आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| sessionId | पथ | डोरी | आवश्यक |
| पहले | सवाल | डोरी | null | वैकल्पिक |
| आप LIMIT | सवाल | डोरी | null | वैकल्पिक |
200 वस्तु application/json
{ sessionId: string messages: Array<{ id: string role: "user" | "assistant" text: string createdAt: string | null agent: string | null model: string | null error: string | null truncated: boolean tools: Array<{ callId: string tool: string status: "pending" | "running" | "completed" | "error" input?: unknown | null output: string truncated: boolean }> }> before: string | null }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/sessions/${sessionId}/messages`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/sessions/<sessionId>/messages" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/extensions
ai.mcpServers आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| projectId | सवाल | डोरी | आवश्यक |
200 वस्तु application/json
{ servers: Array<{ name: string config: { type: "local" command: string[] environment?: { [key: string]: string } | null enabled: boolean timeout?: number | "Infinity" | "-Infinity" | "NaN" | null } | { type: "remote" url: string headers?: { [key: string]: string } | null oauth?: false status: string }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mcp`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/extensions/mcp?projectId=<projectId>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.saveMcpServer आवश्यक है Authorization: Bearer <token>.
{ projectId: string name: string config: { type: "local" command: string[] environment?: { [key: string]: string } | null enabled: boolean timeout?: number | "Infinity" | "-Infinity" | "NaN" | null } | { type: "remote" url: string headers?: { [key: string]: string } | null oauth?: false }
200 वस्तु application/json
{ servers: Array<{ name: string config: { type: "local" command: string[] environment?: { [key: string]: string } | null enabled: boolean timeout?: number | "Infinity" | "-Infinity" | "NaN" | null } | { type: "remote" url: string headers?: { [key: string]: string } | null oauth?: false status: string }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mcp`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/ai/extensions/mcp" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.deleteMcpServer आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| नाम | पथ | डोरी | आवश्यक |
| projectId | सवाल | डोरी | आवश्यक |
200 वस्तु application/json
{ servers: Array<{ name: string config: { type: "local" command: string[] environment?: { [key: string]: string } | null enabled: boolean timeout?: number | "Infinity" | "-Infinity" | "NaN" | null } | { type: "remote" url: string headers?: { [key: string]: string } | null oauth?: false status: string }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mcp/${name}`, {
method: "DELETE",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/extensions/mcp/<name>?projectId=<projectId>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.removeExtensionPlugin आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ plugins: Array<{ id: string name: string version: string enabled: boolean tools: number | "Infinity" | "-Infinity" | "NaN" mods: number | "Infinity" | "-Infinity" | "NaN" modes: number | "Infinity" | "-Infinity" | "NaN" }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/plugins/${id}`, {
method: "DELETE",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/extensions/plugins/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.toggleExtensionPlugin आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
{ enabled: boolean }
200 वस्तु application/json
{ plugins: Array<{ id: string name: string version: string enabled: boolean tools: number | "Infinity" | "-Infinity" | "NaN" mods: number | "Infinity" | "-Infinity" | "NaN" modes: number | "Infinity" | "-Infinity" | "NaN" }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/plugins/${id}`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/ai/extensions/plugins/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.extensionPlugins आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ plugins: Array<{ id: string name: string version: string enabled: boolean tools: number | "Infinity" | "-Infinity" | "NaN" mods: number | "Infinity" | "-Infinity" | "NaN" modes: number | "Infinity" | "-Infinity" | "NaN" }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/plugins`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/extensions/plugins" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.installExtensionPlugin आवश्यक है Authorization: Bearer <token>.
{ manifest: string source: string files?: { [key: string]: string } | null }
200 वस्तु application/json
{ plugins: Array<{ id: string name: string version: string enabled: boolean tools: number | "Infinity" | "-Infinity" | "NaN" mods: number | "Infinity" | "-Infinity" | "NaN" modes: number | "Infinity" | "-Infinity" | "NaN" }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/plugins`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/extensions/plugins" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.extensionMods आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ mods: Array<{ id: string name: string description: string enabled: boolean origin: "assistant" | "user" | "plugin" pluginId?: string | null }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mods`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/extensions/mods" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.toggleExtensionMod आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
{ enabled: boolean }
200 वस्तु application/json
{ mods: Array<{ id: string name: string description: string enabled: boolean origin: "assistant" | "user" | "plugin" pluginId?: string | null }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mods/${id}`, {
method: "PUT",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/ai/extensions/mods/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.removeExtensionMod आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| पहचान | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ mods: Array<{ id: string name: string description: string enabled: boolean origin: "assistant" | "user" | "plugin" pluginId?: string | null }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/extensions/mods/${id}`, {
method: "DELETE",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/extensions/mods/<id>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/modes
ai.modes आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ modes: Array<{ id: string title: string description: string pluginId: string pluginName: string }> builtin?: Array<{ id: string title: string description: string pluginId: string pluginName: string }> | null }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/modes`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/modes" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/skills
ai.skills आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ skills: Array<{ name: string description: string builtIn: boolean category: string }> max: number | "Infinity" | "-Infinity" | "NaN" }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
{
"skills": [
{
"name": "cad-3d-modeling",
"description": "Model 3D and 2D geometry in the open editor (45 element types): conventions, recipes for common parts, how to build complex objects.",
"builtIn": true,
"category": "cad"
},
{
"name": "cam-operation-workflow",
"description": "The loop from a drawing to verified G-code: describe, parameters, operation, generate, analyse, verify, fix.",
"builtIn": true,
"category": "cam"
},
{
"name": "toolpath-verification",
"description": "How to read and report a cam_edit action verify result: every finding code, its cause and its fix, and what was not modelled.",
"builtIn": true,
"category": "cam"
},
{
"name": "cutting-parameters",
"description": "Speeds, feeds, stepdown and stepover starting points by material, and the formulas behind them.",
"builtIn": true,
"category": "cam"
},
{
"name": "drilling-and-holes",
"description": "Drilling operations: cycles, peck rules, through-hole depth, large holes.",
"builtIn": true,
"category": "cam"
},
{
"name": "precision-and-tolerances",
"description": "Working to microns: nominal sizes, tolerance on round shapes, ISO 286 grades, finishing strategy and what the verification can and cannot show.",
"builtIn": true,
"category": "cam"
},
{
"name": "industrial-standards",
"description": "Mechanical and industrial rules for professional parts: ISO 2768 general tolerances, ISO 286 fits, surface finish, ISO 273 / ISO 4762 fastener holes, tap drills, DIN 6885 keys, ISO 54 gears, preferred numbers, design rules per process (milling, turning, sheet metal, casting, printing) and material densities.",
"builtIn": true,
"category": "cad"
},
{
"name": "machines-and-axes",
"description": "Mill, lathe and 3D printer: what turns, the sense of every axis, zeros and work offsets, touch probes and tool setters, and how to check a program against its machine.",
"builtIn": true,
"category": "cam"
},
{
"name": "drawings-and-images",
"description": "From a DXF/SVG file, an image of a dimensioned drawing, a photo or a sketch to a 3D model: which tool, what to ask, how to check the result.",
"builtIn": true,
"category": "cad"
},
{
"name": "plugin-authoring",
"description": "Write an extension for the ap
… एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.skills() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/skills" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.saveSkill आवश्यक है Authorization: Bearer <token>.
{ markdown?: string | null name?: string | null description?: string | null body?: string | null }
200 वस्तु application/json
{ skill: { name: string description: string builtIn: boolean category: string } skills: Array<{ name: string description: string builtIn: boolean category: string }> live: boolean }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiSaveSkillInput
const result = await client.ai.saveSkill({
markdown: "",
name: "",
description: "",
body: ""
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/ai/skills" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.deleteSkill आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| नाम | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ skills: Array<{ name: string description: string builtIn: boolean category: string }> max: number | "Infinity" | "-Infinity" | "NaN" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiDeleteSkillInput
const result = await client.ai.deleteSkill({
name: "<name>"
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/skills/<name>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/credentials
ai.setCredentials आवश्यक है Authorization: Bearer <token>.
{ provider?: string | null key?: string | null baseUrl?: string | null }
200 वस्तु application/json
{ providers: { [key: string]: "configured" | "missing" } configured: boolean tools?: Array<{ id: string description: string }> | null host: "nikcli" | "direct" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiSetCredentialsInput
const result = await client.ai.setCredentials({
provider: "",
key: "",
baseUrl: ""
}) curl
curl --request PUT "${CADCAMFUN_URL}/api/ai/credentials" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.clearCredentials आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| प्रदाता | पथ | डोरी | आवश्यक |
200 वस्तु application/json
{ providers: { [key: string]: "configured" | "missing" } configured: boolean tools?: Array<{ id: string description: string }> | null host: "nikcli" | "direct" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiClearCredentialsInput
const result = await client.ai.clearCredentials({
provider: "<provider>"
}) curl
curl --request DELETE "${CADCAMFUN_URL}/api/ai/credentials/<provider>" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/status
ai.status आवश्यक है Authorization: Bearer <token>.
200 वस्तु application/json
{ providers: { [key: string]: "configured" | "missing" } configured: boolean tools?: Array<{ id: string description: string }> | null host: "nikcli" | "direct" }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
{
"providers": {
"anthropic": "missing",
"openai": "missing",
"minimax": "missing",
"gateway": "missing"
},
"configured": false,
"host": "direct"
} एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.status() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/status" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/models
ai.models आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| configuredOnly | सवाल | "सत्य" | "असत्य" | null | वैकल्पिक |
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string provider: string tier?: "fast" | "balanced" | "best" | null contextWindow: number | "Infinity" | "-Infinity" | "NaN" tools: boolean vision: boolean configured: boolean }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[
{
"id": "claude-haiku-4-5",
"provider": "anthropic",
"tier": "fast",
"contextWindow": 200000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "claude-sonnet-5-5",
"provider": "anthropic",
"tier": "balanced",
"contextWindow": 1000000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "claude-opus-5-5",
"provider": "anthropic",
"tier": "best",
"contextWindow": 1000000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "gpt-5-mini",
"provider": "openai",
"tier": "fast",
"contextWindow": 400000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "gpt-5",
"provider": "openai",
"tier": "balanced",
"contextWindow": 400000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "MiniMax-M2",
"provider": "minimax",
"tier": "fast",
"contextWindow": 200000,
"tools": true,
"vision": false,
"configured": false
},
{
"id": "anthropic/claude-haiku-4-5",
"provider": "gateway",
"tier": "fast",
"contextWindow": 200000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "anthropic/claude-sonnet-5-5",
"provider": "gateway",
"tier": "balanced",
"contextWindow": 1000000,
"tools": true,
"vision": true,
"configured": false
},
{
"id": "anthropic/claude-opus-5-5",
"provider": "gateway",
"tier": "best",
"contextWindow": 1000000,
"tools": true,
"vision": true,
"configured": false
}
] एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiModelsInput
const result = await client.ai.models({}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/models" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
ai.refreshModels आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string name: string source: string auth: string[] configured: boolean baseUrl?: string | null defaultModel?: string | null models: Array<{ id: string name: string provider: string contextWindow: number | "Infinity" | "-Infinity" | "NaN" maxOutput: number | "Infinity" | "-Infinity" | "NaN" inputWindow?: number | "Infinity" | "-Infinity" | "NaN" | null reasoning?: boolean | null variants?: string[] | null tools: boolean vision: boolean cost: { input: number | "Infinity" | "-Infinity" | "NaN" output: number | "Infinity" | "-Infinity" | "NaN" } }> }>
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/models/refresh`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/models/refresh" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/providers
ai.providers आवश्यक है Authorization: Bearer <token>.
200 सारणी<ऑब्जेक्ट> application/json
Array<{ id: string name: string source: string auth: string[] configured: boolean baseUrl?: string | null defaultModel?: string | null models: Array<{ id: string name: string provider: string contextWindow: number | "Infinity" | "-Infinity" | "NaN" maxOutput: number | "Infinity" | "-Infinity" | "NaN" inputWindow?: number | "Infinity" | "-Infinity" | "NaN" | null reasoning?: boolean | null variants?: string[] | null tools: boolean vision: boolean cost: { input: number | "Infinity" | "-Infinity" | "NaN" output: number | "Infinity" | "-Infinity" | "NaN" } }> }>
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
[
{
"id": "anthropic",
"name": "anthropic",
"source": "config",
"auth": [
"api"
],
"configured": false,
"models": [
{
"id": "claude-haiku-4-5",
"name": "claude-haiku-4-5",
"provider": "anthropic",
"contextWindow": 200000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": true,
"cost": {
"input": 0,
"output": 0
}
},
{
"id": "claude-sonnet-5-5",
"name": "claude-sonnet-5-5",
"provider": "anthropic",
"contextWindow": 1000000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": true,
"cost": {
"input": 0,
"output": 0
}
},
{
"id": "claude-opus-5-5",
"name": "claude-opus-5-5",
"provider": "anthropic",
"contextWindow": 1000000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": true,
"cost": {
"input": 0,
"output": 0
}
}
]
},
{
"id": "openai",
"name": "openai",
"source": "config",
"auth": [
"api"
],
"configured": false,
"models": [
{
"id": "gpt-5-mini",
"name": "gpt-5-mini",
"provider": "openai",
"contextWindow": 400000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": true,
"cost": {
"input": 0,
"output": 0
}
},
{
"id": "gpt-5",
"name": "gpt-5",
"provider": "openai",
"contextWindow": 400000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": true,
"cost": {
"input": 0,
"output": 0
}
}
]
},
{
"id": "minimax",
"name": "minimax",
"source": "config",
"auth": [
"api"
],
"configured": false,
"models": [
{
"id": "MiniMax-M2",
"name": "MiniMax-M2",
"provider": "minimax",
"contextWindow": 200000,
"maxOutput": 16000,
"reasoning": false,
"variants": [],
"tools": true,
"vision": false,
"cost": {
"input": 0,
"output"
… एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// no input
const result = await client.ai.providers() curl
curl --request GET "${CADCAMFUN_URL}/api/ai/providers" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/prompts
ai.prompts आवश्यक है Authorization: Bearer <token>.
| नाम | में | प्रकार | आवश्यक |
|---|---|---|---|
| तरीका | सवाल | डोरी | null | वैकल्पिक |
200 वस्तु application/json
{ prompts: string[] }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण प्रतिक्रिया कब्जा कर लिया गया · 200
{
"prompts": [
"How do I get started with CAD/CAM?",
"What's the difference between CAD and CAM?",
"Can you recommend resources for learning more?"
]
} एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiPromptsInput
const result = await client.ai.prompts({}) curl
curl --request GET "${CADCAMFUN_URL}/api/ai/prompts" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" इसे अजमाएं
/api/ai/title
ai.title आवश्यक है Authorization: Bearer <token>.
{ excerpt?: string | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ title: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiTitleInput
const result = await client.ai.title({
excerpt: "",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/title" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/design-analysis
ai.designAnalysis आवश्यक है Authorization: Bearer <token>.
{ description?: string | null layer?: string | null machine?: string | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ suggestions: Array<{ title: string description: string confidence: number | "Infinity" | "-Infinity" | "NaN" priority: "low" | "medium" | "high" kind: "optimization" | "warning" | "critical" }> }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiDesignAnalysisInput
const result = await client.ai.designAnalysis({
description: "",
layer: "",
machine: "",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/design-analysis" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/machining-parameters
ai.machiningParameters आवश्यक है Authorization: Bearer <token>.
{ material?: string | null tool?: string | null operation?: string | null machine?: string | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ cuttingSpeedMPerMin: number | "Infinity" | "-Infinity" | "NaN" feedRateMmPerMin: number | "Infinity" | "-Infinity" | "NaN" depthOfCutMm: number | "Infinity" | "-Infinity" | "NaN" stepoverPct: number | "Infinity" | "-Infinity" | "NaN" coolant: "flood" | "mist" | "none" engagement: "conventional" | "climb" warnings: string[] }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiMachiningParametersInput
const result = await client.ai.machiningParameters({
material: "",
tool: "",
operation: "",
machine: "",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/machining-parameters" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/gcode-optimization
ai.gcodeOptimization आवश्यक है Authorization: Bearer <token>.
{ gcode?: string | null material?: string | null machineType?: string | null constraints?: string | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु application/json
{ gcode: string changes: Array<{ line: number | "Infinity" | "-Infinity" | "NaN" before: string after: string reason: string }> estimatedSavings: { timePct: number | "Infinity" | "-Infinity" | "NaN" toolLifePct: number | "Infinity" | "-Infinity" | "NaN" qualityNote: string } notes: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiGcodeOptimizationInput
const result = await client.ai.gcodeOptimization({
gcode: "",
material: "",
machineType: "",
constraints: "",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/gcode-optimization" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/design-suggestions
ai.designSuggestions आवश्यक है Authorization: Bearer <token>.
{ elements?: string | null currentOperation?: string | null currentTool?: string | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 सारणी<ऑब्जेक्ट> application/json
Array<{ title: string rationale: string nextStep: string }>
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiDesignSuggestionsInput
const result = await client.ai.designSuggestions({
elements: "",
currentOperation: "",
currentTool: "",
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/design-suggestions" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/chat
ai.chat आवश्यक है Authorization: Bearer <token>.
{ messages?: unknown | null mcpServerId?: string | null mcpReference?: string | null }
200 वस्तु application/json
{ reply: string hasMcpData: boolean }
400 AiBadRequestEncoded application/json
AiBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 AiNotFoundEncoded application/json
AiNotFoundEncoded
500 AiFailureEncoded application/json
AiFailureEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiChatInput
const result = await client.ai.chat({
messages: null,
mcpServerId: "",
mcpReference: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/chat" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.chatStream आवश्यक है Authorization: Bearer <token>.
{ permissionMode?: "auto" | "ask" | "approve" | null agent?: string | null mode?: string | null attachments?: Array<{ name: string mime?: string | null data: string encoding?: "base64" | "text" | null }> | null message?: string | null sessionId?: string | null projectId?: string | null drawingId?: string | null context?: string | null includeContext?: boolean | null model?: { provider?: string | null model?: string | null tier?: "fast" | "balanced" | "best" | null variant?: string | null } | null }
200 वस्तु text/event-stream
{ id: string | null event: string data: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiChatStreamInput
const result = await client.ai.chatStream({
permissionMode: "auto",
agent: "",
mode: "",
attachments: [
{
name: "",
data: ""
}
],
message: "",
sessionId: "",
projectId: "",
drawingId: "",
context: "",
includeContext: false,
model: {}
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/chat/stream" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.chatQueue आवश्यक है Authorization: Bearer <token>.
{ sessionId: string message: string projectId?: string | null delivery?: "queue" | "steer" | null }
200 वस्तु application/json
{ message: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiChatQueueInput
const result = await client.ai.chatQueue({
sessionId: "",
message: "",
projectId: "",
delivery: "queue"
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/chat/queue" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.chatAbort आवश्यक है Authorization: Bearer <token>.
{ sessionId?: string | null projectId?: string | null }
200 वस्तु application/json
{ message: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiChatAbortInput
const result = await client.ai.chatAbort({
sessionId: "",
projectId: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/chat/abort" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/permission
ai.permissionReply आवश्यक है Authorization: Bearer <token>.
{ sessionId: string projectId?: string | null requestId: string decision: "once" | "always" | "reject" }
200 वस्तु application/json
{ message: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiPermissionReplyInput
const result = await client.ai.permissionReply({
sessionId: "",
projectId: "",
requestId: "",
decision: "once"
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/permission/reply" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/completion
ai.completion आवश्यक है Authorization: Bearer <token>.
{ prompt?: string | null systemPrompt?: string | null model?: string | null temperature?: number | "Infinity" | "-Infinity" | "NaN" | null }
200 वस्तु application/json
{ text: string model: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiCompletionInput
const result = await client.ai.completion({
prompt: "",
systemPrompt: "",
model: "",
temperature: 0
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/completion" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/analyze-gcode
ai.analyzeGcode आवश्यक है Authorization: Bearer <token>.
{ gcode?: string | null model?: string | null }
200 वस्तु application/json
{ issues: Array<{ severity: "error" | "warning" | "info" code: string line: number | "Infinity" | "-Infinity" | "NaN" message: string }> stats: { lines: number | "Infinity" | "-Infinity" | "NaN" rapidMoves: number | "Infinity" | "-Infinity" | "NaN" cutMoves: number | "Infinity" | "-Infinity" | "NaN" toolChanges: number | "Infinity" | "-Infinity" | "NaN" bounds: { min: { x: number | "Infinity" | "-Infinity" | "NaN" y: number | "NaN" z: number | "NaN" } max: { x: number | "NaN" } } | null } }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiAnalyzeGcodeInput
const result = await client.ai.analyzeGcode({
gcode: "",
model: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/analyze-gcode" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/gcode
ai.gcode आवश्यक है Authorization: Bearer <token>.
{ action?: string | null gcode?: string | null partialCode?: string | null machineType?: string | null material?: string | null model?: string | null options?: unknown | null description?: string | null toolpathType?: string | null }
200 वस्तु application/json
{ success: true action: string data: unknown processedAt: string }
400 GcodeActionErrorEncoded application/json
GcodeActionErrorEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 GcodeActionFailureEncoded application/json
GcodeActionFailureEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiGcodeInput
const result = await client.ai.gcode({
action: "",
gcode: "",
partialCode: "",
machineType: "",
material: "",
model: "",
options: null,
description: "",
toolpathType: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/gcode" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/toolpath-analysis
ai.toolpathAnalysis आवश्यक है Authorization: Bearer <token>.
{ gcode?: string | null model?: string | null max_tokens?: number | "Infinity" | "-Infinity" | "NaN" | null }
200 वस्तु application/json
{ insights: string }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiToolpathAnalysisInput
const result = await client.ai.toolpathAnalysis({
gcode: "",
model: "",
max_tokens: 0
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/toolpath-analysis" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/feedback
ai.feedback आवश्यक है Authorization: Bearer <token>.
{ messageId?: string | null rating?: string | null comment?: string | null }
200 वस्तु application/json
{ success: true message: string }
400 AiBadRequestEncoded application/json
AiBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 AiFailureEncoded application/json
AiFailureEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiFeedbackInput
const result = await client.ai.feedback({
messageId: "",
rating: "",
comment: ""
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/feedback" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/proxy
ai.proxy आवश्यक है Authorization: Bearer <token>.
{ model?: string | null messages?: unknown | null max_tokens?: number | "Infinity" | "-Infinity" | "NaN" | null temperature?: number | "Infinity" | "-Infinity" | "NaN" | null system?: unknown | null reasoning?: unknown | null }
200 वस्तु application/json
{ id: string type: "message" role: "assistant" model: string content: Array<{ type: "text" text: string }> stop_reason: string | null usage: { input_tokens: number | "Infinity" | "-Infinity" | "NaN" output_tokens: number | "Infinity" | "-Infinity" | "NaN" } }
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
एसडीके उदाहरण
import { CadCam } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
// AiProxyInput
const result = await client.ai.proxy({
model: "",
messages: null,
max_tokens: 0,
temperature: 0,
system: null,
reasoning: null
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/proxy" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
/api/ai/oauth
ai.oauthAuthorize आवश्यक है Authorization: Bearer <token>.
{ provider: "openai" | "xai" }
200 वस्तु application/json
{ attemptId: string url: string instructions: string method: "auto" | "code" | "auto-code" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/oauth/authorize`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/oauth/authorize" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
ai.oauthComplete आवश्यक है Authorization: Bearer <token>.
{ provider: "openai" | "xai" attemptId: string code?: string | null }
200 वस्तु application/json
{ providers: { [key: string]: "configured" | "missing" } configured: boolean tools?: Array<{ id: string description: string }> | null host: "nikcli" | "direct" }
400 BadRequestEncoded application/json
BadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 InternalErrorEncoded application/json
InternalErrorEncoded
उदाहरण लाओ
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/ai/oauth/complete`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
}) curl
curl --request POST "${CADCAMFUN_URL}/api/ai/oauth/complete" \
--header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
--header "Content-Type: application/json" \
--data-binary @request.json इसे अजमाएं
स्कीमा
नामित स्कीमा इस समूह के मापदंडों, निकायों और प्रतिक्रियाओं से पहुंच योग्य हैं। ए ? एक वैकल्पिक फ़ील्ड चिह्नित करता है; | null उस फ़ील्ड को चिह्नित करता है जो शून्य मान के साथ मौजूद हो सकता है।
AiBadRequestEncoded{ _tag: "AiBadRequest" error: string }
AiFailureEncoded{ _tag: "AiFailure" error: string }
AiNotFoundEncoded{ _tag: "AiNotFound" error: string }
BadRequestEncoded{ _tag: "BadRequest" message: string }
ConflictEncoded{ _tag: "Conflict" message: string }
GcodeActionErrorEncoded{ _tag: "GcodeActionError" success: false error: string action?: string | null processedAt?: string | null }
GcodeActionFailureEncoded{ _tag: "GcodeActionFailure" success: false error: string action: string processedAt: string }
InternalErrorEncoded{ _tag: "InternalError" message: string }
इस समूह को कॉल किया जा रहा है
ऑपरेशन आईडी का फॉर्म है ai.<name>. जनरेट किया गया प्रॉमिस SDK (@cadcamfun/api/sdk) उनमें से अधिकांश को इस रूप में उजागर करता है client.<namespace>.<method>(input), कहाँ input पथ पैरामीटर और बॉडी फ़ील्ड की एक सपाट वस्तु है; प्रत्येक कार्ड का एसडीके उदाहरण सटीक एक्सेसर और इनपुट प्रकार दिखाता है। मल्टीपार्ट अपलोड, बाइनरी या जावास्क्रिप्ट प्रतिक्रियाएँ और कच्चे वेबहुक उत्पन्न नहीं होते हैं; वे कार्ड दिखाते हैं fetch इसके बजाय.
import { CadCam, ClientError } from "@cadcamfun/api/sdk"
const client = CadCam.make({
baseUrl: process.env.CADCAMFUN_URL!,
headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
try {
await client.projects.list()
} catch (error) {
if (error instanceof ClientError) {
// Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
} else {
// a declared error body: switch on error._tag
}
} समस्या निवारण
| लक्षण | संभावित कारण | हल करना |
|---|---|---|
| हर कॉल पर 401 | पिछले लॉन्च से टोकन, या गायब Bearer उपसर्ग | भेजना Authorization: Bearer <token> टोकन के साथ साइडकार की शुरुआत की गई। |
| कुछ होने से पहले 400 | बॉडी या पैरामीटर स्कीमा से मेल नहीं खाता | कार्ड पर अनुरोध स्कीमा के साथ पेलोड की तुलना करें। |
| कहीं और दिखने वाले रिकॉर्ड पर 403 या 404 | एक्टिंग अकाउंट अलग है | सही भेजो x-session-token, या उस स्थानीय प्रोफ़ाइल का उपयोग करें जो रिकॉर्ड का स्वामी है। |
| 409 | विरोधाभासी स्थिति, जैसे डुप्लिकेट नाम या पुराना शाखा प्रमुख | संसाधन को दोबारा पढ़ें और वर्तमान डेटा के साथ पुनः प्रयास करें। |
| कोशिश करें यह कहता है "सीओआरएस द्वारा अवरुद्ध" | दस्तावेज़ गैर-लूपबैक मूल से परोसे जाते हैं | दस्तावेज़ों को स्थानीय रूप से चलाएँ या अनुरोध को कर्ल के रूप में कॉपी करें। |
| कनेक्शन नहीं हो सका | साइडकार एक नए बंदरगाह पर फिर से शुरू हुई | नए से पोर्ट पढ़ें ready पंक्ति. |