@muxoai/sdk 0.1.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/LICENSE +21 -0
- package/README.md +44 -0
- package/dist/index.d.ts +88 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +118 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +117 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +49 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Muxo AI, LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# @muxoai/sdk
|
|
2
|
+
|
|
3
|
+
Typed JavaScript/TypeScript client for the [Muxo runtime](https://api.muxo.ai).
|
|
4
|
+
|
|
5
|
+
One key gives you `web.search`, `web.scrape`, `llm.chat`, `compute.sandbox`,
|
|
6
|
+
`deploy.*`, `db.*`, and more — with server-side routing, fallback, metering, and
|
|
7
|
+
budget enforcement.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @muxoai/sdk
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { Muxo } from '@muxoai/sdk'
|
|
19
|
+
|
|
20
|
+
const muxo = new Muxo({ key: process.env.MUXO_KEY! })
|
|
21
|
+
|
|
22
|
+
const results = await muxo.web.search({ query: 'agent infrastructure', limit: 5 })
|
|
23
|
+
if (results.ok) console.log(results.data, results.usage)
|
|
24
|
+
|
|
25
|
+
const chat = await muxo.llm.chat({ prompt: 'Summarize muxo in one line.' })
|
|
26
|
+
const run = await muxo.workflows.run('daily-prices', { region: 'us' })
|
|
27
|
+
const credits = await muxo.credits.balance()
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Every call returns a uniform envelope: `{ ok: true, data, usage }` or
|
|
31
|
+
`{ ok: false, error: { code, message } }`.
|
|
32
|
+
|
|
33
|
+
## Surface
|
|
34
|
+
|
|
35
|
+
- `muxo.call(capability, input)` — any capability
|
|
36
|
+
- `muxo.web` · `muxo.llm` · `muxo.compute` · `muxo.deploy` · `muxo.domains`
|
|
37
|
+
· `muxo.dns` · `muxo.kv` · `muxo.storage` · `muxo.vectors` · `muxo.email`
|
|
38
|
+
· `muxo.observability` · `muxo.queue`
|
|
39
|
+
- `muxo.workflows` · `muxo.manifest` · `muxo.keys` · `muxo.credits`
|
|
40
|
+
· `muxo.status` · `muxo.usage` · `muxo.rollback`
|
|
41
|
+
|
|
42
|
+
## License
|
|
43
|
+
|
|
44
|
+
MIT © Muxo AI, LLC
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { BrowserDriveInput, ComputeContainerInput, DeployContainerInput, DeployEdgeInput, DeploySiteInput, DnsManageInput, DomainsRegisterInput, EmailSendInput, Envelope, KvStoreInput, LlmChatInput, LlmEmbedInput, LlmTtsInput, ObservabilityLogInput, QueueEmitInput, SandboxInput, StorageObjectInput, VectorSearchInput, WebCrawlInput, WebExtractInput, WebMonitorInput, WebScrapeInput, WebSearchInput } from './types';
|
|
2
|
+
export type { BrowserDriveInput, ComputeContainerInput, DeployContainerInput, DeployEdgeInput, DeploySiteInput, DnsManageInput, DomainsRegisterInput, EmailSendInput, Envelope, KvStoreInput, LlmChatInput, LlmEmbedInput, LlmTtsInput, MuxoError, ObservabilityLogInput, QueueEmitInput, SandboxInput, StorageObjectInput, Usage, VectorSearchInput, WebCrawlInput, WebExtractInput, WebMonitorInput, WebScrapeInput, WebSearchInput, } from './types';
|
|
3
|
+
export interface MuxoOptions {
|
|
4
|
+
key: string;
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class Muxo {
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly baseUrl: string;
|
|
10
|
+
constructor({ key, baseUrl }: MuxoOptions);
|
|
11
|
+
private request;
|
|
12
|
+
call<T = unknown>(capability: string, input: object): Promise<Envelope<T>>;
|
|
13
|
+
web: {
|
|
14
|
+
search: (input: WebSearchInput) => Promise<Envelope<unknown>>;
|
|
15
|
+
scrape: (input: WebScrapeInput) => Promise<Envelope<unknown>>;
|
|
16
|
+
extract: (input: WebExtractInput) => Promise<Envelope<unknown>>;
|
|
17
|
+
crawl: (input: WebCrawlInput) => Promise<Envelope<unknown>>;
|
|
18
|
+
monitor: (input: WebMonitorInput) => Promise<Envelope<unknown>>;
|
|
19
|
+
};
|
|
20
|
+
browser: {
|
|
21
|
+
drive: (input: BrowserDriveInput) => Promise<Envelope<unknown>>;
|
|
22
|
+
};
|
|
23
|
+
llm: {
|
|
24
|
+
chat: (input: LlmChatInput) => Promise<Envelope<unknown>>;
|
|
25
|
+
embed: (input: LlmEmbedInput) => Promise<Envelope<unknown>>;
|
|
26
|
+
tts: (input: LlmTtsInput) => Promise<Envelope<unknown>>;
|
|
27
|
+
};
|
|
28
|
+
compute: {
|
|
29
|
+
sandbox: (input: SandboxInput) => Promise<Envelope<unknown>>;
|
|
30
|
+
container: (input: ComputeContainerInput) => Promise<Envelope<unknown>>;
|
|
31
|
+
};
|
|
32
|
+
deploy: {
|
|
33
|
+
site: (input: DeploySiteInput) => Promise<Envelope<unknown>>;
|
|
34
|
+
container: (input: DeployContainerInput) => Promise<Envelope<unknown>>;
|
|
35
|
+
edge: (input: DeployEdgeInput) => Promise<Envelope<unknown>>;
|
|
36
|
+
};
|
|
37
|
+
domains: {
|
|
38
|
+
register: (input: DomainsRegisterInput) => Promise<Envelope<unknown>>;
|
|
39
|
+
};
|
|
40
|
+
dns: {
|
|
41
|
+
manage: (input: DnsManageInput) => Promise<Envelope<unknown>>;
|
|
42
|
+
};
|
|
43
|
+
kv: {
|
|
44
|
+
store: (input: KvStoreInput) => Promise<Envelope<unknown>>;
|
|
45
|
+
};
|
|
46
|
+
storage: {
|
|
47
|
+
object: (input: StorageObjectInput) => Promise<Envelope<unknown>>;
|
|
48
|
+
};
|
|
49
|
+
vectors: {
|
|
50
|
+
search: (input: VectorSearchInput) => Promise<Envelope<unknown>>;
|
|
51
|
+
};
|
|
52
|
+
email: {
|
|
53
|
+
send: (input: EmailSendInput) => Promise<Envelope<unknown>>;
|
|
54
|
+
};
|
|
55
|
+
observability: {
|
|
56
|
+
log: (input: ObservabilityLogInput) => Promise<Envelope<unknown>>;
|
|
57
|
+
};
|
|
58
|
+
queue: {
|
|
59
|
+
emit: (input: QueueEmitInput) => Promise<Envelope<unknown>>;
|
|
60
|
+
};
|
|
61
|
+
credits: {
|
|
62
|
+
balance: () => Promise<Envelope<unknown>>;
|
|
63
|
+
packs: () => Promise<{
|
|
64
|
+
ok: false;
|
|
65
|
+
error: import("./types").MuxoError;
|
|
66
|
+
} | unknown[]>;
|
|
67
|
+
checkout: (pack: string) => Promise<Envelope<unknown>>;
|
|
68
|
+
};
|
|
69
|
+
workflows: {
|
|
70
|
+
run: (name: string, params?: Record<string, string | number | boolean>) => Promise<Envelope<unknown>>;
|
|
71
|
+
executions: (name: string) => Promise<Envelope<unknown>>;
|
|
72
|
+
};
|
|
73
|
+
status: () => Promise<Envelope<unknown>>;
|
|
74
|
+
usage: () => Promise<Envelope<unknown>>;
|
|
75
|
+
manifest: {
|
|
76
|
+
get: () => Promise<Envelope<unknown>>;
|
|
77
|
+
put: (text: string) => Promise<Envelope<unknown>>;
|
|
78
|
+
versions: () => Promise<Envelope<unknown>>;
|
|
79
|
+
plan: (text: string) => Promise<Envelope<unknown>>;
|
|
80
|
+
};
|
|
81
|
+
keys: {
|
|
82
|
+
list: () => Promise<Envelope<unknown>>;
|
|
83
|
+
create: () => Promise<Envelope<unknown>>;
|
|
84
|
+
revoke: (id: string) => Promise<Envelope<unknown>>;
|
|
85
|
+
};
|
|
86
|
+
rollback(version?: number): Promise<Envelope<unknown>>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAID,qBAAa,IAAI;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,EAAE,GAAG,EAAE,OAA0B,EAAE,EAAE,WAAW;YAK9C,OAAO;IAgCrB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAI1E,GAAG;wBACe,cAAc;wBACd,cAAc;yBACb,eAAe;uBACjB,aAAa;yBACX,eAAe;MACjC;IAED,OAAO;uBACU,iBAAiB;MACjC;IAED,GAAG;sBACa,YAAY;uBACX,aAAa;qBACf,WAAW;MACzB;IAED,OAAO;yBACY,YAAY;2BACV,qBAAqB;MACzC;IAED,MAAM;sBACU,eAAe;2BACV,oBAAoB;sBACzB,eAAe;MAC9B;IAED,OAAO;0BACa,oBAAoB;MACvC;IAED,GAAG;wBACe,cAAc;MAC/B;IAED,EAAE;uBACe,YAAY;MAC5B;IAED,OAAO;wBACW,kBAAkB;MACnC;IAED,OAAO;wBACW,iBAAiB;MAClC;IAED,KAAK;sBACW,cAAc;MAC7B;IAED,aAAa;qBACE,qBAAqB;MACnC;IAED,KAAK;sBACW,cAAc;MAC7B;IAED,OAAO;;;;;;yBAMY,MAAM;MACxB;IAED,SAAS;oBACK,MAAM,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;2BAEnD,MAAM;MAC1B;IAED,MAAM,mCAAuC;IAE7C,KAAK,mCAAsC;IAE3C,QAAQ;;oBAEM,MAAM;;qBAEL,MAAM;MACpB;IAED,IAAI;;;qBAGW,MAAM;MACpB;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;CAG1B"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
const DEFAULT_BASE_URL = 'https://api.muxo.ai/v1';
|
|
2
|
+
export class Muxo {
|
|
3
|
+
key;
|
|
4
|
+
baseUrl;
|
|
5
|
+
constructor({ key, baseUrl = DEFAULT_BASE_URL }) {
|
|
6
|
+
this.key = key;
|
|
7
|
+
this.baseUrl = baseUrl.replace(/\/+$/, '');
|
|
8
|
+
}
|
|
9
|
+
async request(method, path, body) {
|
|
10
|
+
let res;
|
|
11
|
+
try {
|
|
12
|
+
res = await fetch(`${this.baseUrl}${path}`, {
|
|
13
|
+
method,
|
|
14
|
+
headers: {
|
|
15
|
+
authorization: `Bearer ${this.key}`,
|
|
16
|
+
'content-type': 'application/json',
|
|
17
|
+
},
|
|
18
|
+
body: body === undefined ? undefined : JSON.stringify(body),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
23
|
+
throw new Error(`muxo: network error reaching ${this.baseUrl}${path}: ${reason}`);
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
return (await res.json());
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return {
|
|
30
|
+
ok: false,
|
|
31
|
+
error: {
|
|
32
|
+
code: 'internal',
|
|
33
|
+
message: `muxo returned HTTP ${res.status} with a non-JSON body`,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
call(capability, input) {
|
|
39
|
+
return this.request('POST', `/capabilities/${capability}`, input);
|
|
40
|
+
}
|
|
41
|
+
web = {
|
|
42
|
+
search: (input) => this.call('web.search', input),
|
|
43
|
+
scrape: (input) => this.call('web.scrape', input),
|
|
44
|
+
extract: (input) => this.call('web.extract', input),
|
|
45
|
+
crawl: (input) => this.call('web.crawl', input),
|
|
46
|
+
monitor: (input) => this.call('web.monitor', input),
|
|
47
|
+
};
|
|
48
|
+
browser = {
|
|
49
|
+
drive: (input) => this.call('browser.drive', input),
|
|
50
|
+
};
|
|
51
|
+
llm = {
|
|
52
|
+
chat: (input) => this.call('llm.chat', input),
|
|
53
|
+
embed: (input) => this.call('llm.embed', input),
|
|
54
|
+
tts: (input) => this.call('llm.tts', input),
|
|
55
|
+
};
|
|
56
|
+
compute = {
|
|
57
|
+
sandbox: (input) => this.call('compute.sandbox', input),
|
|
58
|
+
container: (input) => this.call('compute.container', input),
|
|
59
|
+
};
|
|
60
|
+
deploy = {
|
|
61
|
+
site: (input) => this.call('deploy.site', input),
|
|
62
|
+
container: (input) => this.call('deploy.container', input),
|
|
63
|
+
edge: (input) => this.call('deploy.edge', input),
|
|
64
|
+
};
|
|
65
|
+
domains = {
|
|
66
|
+
register: (input) => this.call('domains.register', input),
|
|
67
|
+
};
|
|
68
|
+
dns = {
|
|
69
|
+
manage: (input) => this.call('dns.manage', input),
|
|
70
|
+
};
|
|
71
|
+
kv = {
|
|
72
|
+
store: (input) => this.call('kv.store', input),
|
|
73
|
+
};
|
|
74
|
+
storage = {
|
|
75
|
+
object: (input) => this.call('storage.object', input),
|
|
76
|
+
};
|
|
77
|
+
vectors = {
|
|
78
|
+
search: (input) => this.call('vector.search', input),
|
|
79
|
+
};
|
|
80
|
+
email = {
|
|
81
|
+
send: (input) => this.call('email.send', input),
|
|
82
|
+
};
|
|
83
|
+
observability = {
|
|
84
|
+
log: (input) => this.call('observability.log', input),
|
|
85
|
+
};
|
|
86
|
+
queue = {
|
|
87
|
+
emit: (input) => this.call('queue.emit', input),
|
|
88
|
+
};
|
|
89
|
+
credits = {
|
|
90
|
+
balance: () => this.request('GET', '/credits'),
|
|
91
|
+
packs: async () => {
|
|
92
|
+
const res = await this.request('GET', '/credits');
|
|
93
|
+
return res.ok ? res.data.packs : res;
|
|
94
|
+
},
|
|
95
|
+
checkout: (pack) => this.request('POST', '/credits/checkout', { pack }),
|
|
96
|
+
};
|
|
97
|
+
workflows = {
|
|
98
|
+
run: (name, params) => this.request('POST', `/workflows/${name}/run`, { params: params ?? {} }),
|
|
99
|
+
executions: (name) => this.request('GET', `/workflows/${name}/executions`),
|
|
100
|
+
};
|
|
101
|
+
status = () => this.request('GET', '/status');
|
|
102
|
+
usage = () => this.request('GET', '/usage');
|
|
103
|
+
manifest = {
|
|
104
|
+
get: () => this.request('GET', '/manifest'),
|
|
105
|
+
put: (text) => this.request('PUT', '/manifest', { yaml: text }),
|
|
106
|
+
versions: () => this.request('GET', '/manifest/versions'),
|
|
107
|
+
plan: (text) => this.request('POST', '/plan', { yaml: text }),
|
|
108
|
+
};
|
|
109
|
+
keys = {
|
|
110
|
+
list: () => this.request('GET', '/keys'),
|
|
111
|
+
create: () => this.request('POST', '/keys'),
|
|
112
|
+
revoke: (id) => this.request('DELETE', `/keys/${id}`),
|
|
113
|
+
};
|
|
114
|
+
rollback(version) {
|
|
115
|
+
return this.request('POST', '/rollback', version === undefined ? {} : { version });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export interface Usage {
|
|
2
|
+
credits: number;
|
|
3
|
+
provider: string;
|
|
4
|
+
latency_ms: number;
|
|
5
|
+
}
|
|
6
|
+
export interface MuxoError {
|
|
7
|
+
code: 'rate_limited' | 'budget_exceeded' | 'forbidden' | 'invalid_manifest' | 'backend_down' | 'invalid_input' | 'timeout' | 'not_found' | 'internal' | (string & {});
|
|
8
|
+
message: string;
|
|
9
|
+
retry_after_ms?: number;
|
|
10
|
+
provider?: string;
|
|
11
|
+
}
|
|
12
|
+
export type Envelope<T = unknown> = {
|
|
13
|
+
ok: true;
|
|
14
|
+
data: T;
|
|
15
|
+
usage: Usage;
|
|
16
|
+
} | {
|
|
17
|
+
ok: false;
|
|
18
|
+
error: MuxoError;
|
|
19
|
+
};
|
|
20
|
+
export interface WebSearchInput {
|
|
21
|
+
query: string;
|
|
22
|
+
limit?: number;
|
|
23
|
+
freshness?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WebScrapeInput {
|
|
26
|
+
url: string;
|
|
27
|
+
formats?: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface WebExtractInput {
|
|
30
|
+
from: string | string[];
|
|
31
|
+
schema: unknown;
|
|
32
|
+
}
|
|
33
|
+
export interface WebCrawlInput {
|
|
34
|
+
url: string;
|
|
35
|
+
depth?: number;
|
|
36
|
+
limit?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface WebMonitorInput {
|
|
39
|
+
url: string;
|
|
40
|
+
on: 'change';
|
|
41
|
+
}
|
|
42
|
+
export interface BrowserDriveInput {
|
|
43
|
+
session: string;
|
|
44
|
+
actions: Record<string, unknown>[];
|
|
45
|
+
}
|
|
46
|
+
export interface LlmTtsInput {
|
|
47
|
+
text: string;
|
|
48
|
+
voice?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface ComputeContainerInput {
|
|
51
|
+
image: string;
|
|
52
|
+
cmd?: string[];
|
|
53
|
+
env?: Record<string, string>;
|
|
54
|
+
}
|
|
55
|
+
export interface DeploySiteInput {
|
|
56
|
+
dir?: string;
|
|
57
|
+
build?: string;
|
|
58
|
+
target?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface DeployContainerInput {
|
|
61
|
+
dockerfile: string;
|
|
62
|
+
env?: Record<string, string>;
|
|
63
|
+
}
|
|
64
|
+
export interface DeployEdgeInput {
|
|
65
|
+
script: string;
|
|
66
|
+
bindings?: Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
export interface DomainsRegisterInput {
|
|
69
|
+
name: string;
|
|
70
|
+
tld: string;
|
|
71
|
+
}
|
|
72
|
+
export interface DnsManageInput {
|
|
73
|
+
zone: string;
|
|
74
|
+
records: Record<string, unknown>[];
|
|
75
|
+
}
|
|
76
|
+
export interface StorageObjectInput {
|
|
77
|
+
key: string;
|
|
78
|
+
file?: unknown;
|
|
79
|
+
get?: boolean;
|
|
80
|
+
url?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface VectorSearchInput {
|
|
83
|
+
query: string;
|
|
84
|
+
k?: number;
|
|
85
|
+
}
|
|
86
|
+
export interface LlmChatInput {
|
|
87
|
+
prompt: string;
|
|
88
|
+
model?: string;
|
|
89
|
+
context?: unknown;
|
|
90
|
+
}
|
|
91
|
+
export interface LlmEmbedInput {
|
|
92
|
+
input: string | string[];
|
|
93
|
+
}
|
|
94
|
+
export interface SandboxInput {
|
|
95
|
+
code: string;
|
|
96
|
+
runtime?: 'python' | 'node' | (string & {});
|
|
97
|
+
timeout?: number;
|
|
98
|
+
}
|
|
99
|
+
export interface KvStoreInput {
|
|
100
|
+
key: string;
|
|
101
|
+
value?: unknown;
|
|
102
|
+
get?: boolean;
|
|
103
|
+
}
|
|
104
|
+
export interface EmailSendInput {
|
|
105
|
+
to: string;
|
|
106
|
+
subject: string;
|
|
107
|
+
body: string;
|
|
108
|
+
}
|
|
109
|
+
export interface ObservabilityLogInput {
|
|
110
|
+
level: string;
|
|
111
|
+
message: string;
|
|
112
|
+
}
|
|
113
|
+
export interface QueueEmitInput {
|
|
114
|
+
topic: string;
|
|
115
|
+
payload: unknown;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@muxoai/sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Muxo SDK: typed client for the Muxo runtime (capabilities, workflows, manifest, keys, credits).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"sideEffects": false,
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/muxoai/muxo.git",
|
|
25
|
+
"directory": "packages/sdk"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://api.muxo.ai",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/muxoai/muxo/issues"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"muxo",
|
|
33
|
+
"sdk",
|
|
34
|
+
"agents",
|
|
35
|
+
"capabilities",
|
|
36
|
+
"ai"
|
|
37
|
+
],
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc -p tsconfig.build.json",
|
|
43
|
+
"typecheck": "tsc --noEmit",
|
|
44
|
+
"prepublishOnly": "npm run build"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"typescript": "^5.6.0"
|
|
48
|
+
}
|
|
49
|
+
}
|