@aiworkbench/vibe-ide 0.0.1
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/core/boot.d.ts +15 -0
- package/dist/core/boot.d.ts.map +1 -0
- package/dist/core/bridge-shim.d.ts +9 -0
- package/dist/core/bridge-shim.d.ts.map +1 -0
- package/dist/core/filesystem.d.ts +39 -0
- package/dist/core/filesystem.d.ts.map +1 -0
- package/dist/core/inject-shim.d.ts +6 -0
- package/dist/core/inject-shim.d.ts.map +1 -0
- package/dist/core/install.d.ts +14 -0
- package/dist/core/install.d.ts.map +1 -0
- package/dist/core/preview-channel.d.ts +79 -0
- package/dist/core/preview-channel.d.ts.map +1 -0
- package/dist/core/process.d.ts +20 -0
- package/dist/core/process.d.ts.map +1 -0
- package/dist/ide-theme.css +248 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7699 -0
- package/dist/mcp/mcp-adapter.d.ts +45 -0
- package/dist/mcp/mcp-adapter.d.ts.map +1 -0
- package/dist/mcp/mcp-tools.d.ts +467 -0
- package/dist/mcp/mcp-tools.d.ts.map +1 -0
- package/dist/react/provider.d.ts +12 -0
- package/dist/react/provider.d.ts.map +1 -0
- package/dist/react/use-vibe-ide.d.ts +11 -0
- package/dist/react/use-vibe-ide.d.ts.map +1 -0
- package/dist/react/vibe-ide-bridge-relay.d.ts +14 -0
- package/dist/react/vibe-ide-bridge-relay.d.ts.map +1 -0
- package/dist/react/vibe-ide-layout.d.ts +10 -0
- package/dist/react/vibe-ide-layout.d.ts.map +1 -0
- package/dist/react/vibe-ide-preview-pane.d.ts +7 -0
- package/dist/react/vibe-ide-preview-pane.d.ts.map +1 -0
- package/dist/react/vibe-ide-toolbar.d.ts +15 -0
- package/dist/react/vibe-ide-toolbar.d.ts.map +1 -0
- package/dist/templates/generated.d.ts +22 -0
- package/dist/templates/generated.d.ts.map +1 -0
- package/dist/types.d.ts +187 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +41 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @aiworkbench/vibe-ide — Public types and host adapter contracts.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the interfaces that host applications must implement
|
|
5
|
+
* to integrate the IDE package. The IDE never imports host-specific code
|
|
6
|
+
* (Next.js, Redux, etc.) — everything flows through these contracts.
|
|
7
|
+
*/
|
|
8
|
+
import type { Bridge, BridgeCapability } from "@aiworkbench/vibe-types";
|
|
9
|
+
import type { FileSystemTree } from "@webcontainer/api";
|
|
10
|
+
/** Supported template frameworks for IDE bootstrapping. */
|
|
11
|
+
export type TemplateId = "react" | "vue" | "vanilla";
|
|
12
|
+
/** Variables substituted into the template during IDE bootstrap. */
|
|
13
|
+
export interface TemplateVars {
|
|
14
|
+
/** Custom element tag name (e.g. "my-app"). Defaults to `vibe-<framework>-app`. */
|
|
15
|
+
projectName?: string;
|
|
16
|
+
/** PascalCase name for JS identifiers. Derived from projectName if omitted. */
|
|
17
|
+
projectNamePascal?: string;
|
|
18
|
+
/** App description for manifest.json. */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Default permissions written to manifest.json. */
|
|
21
|
+
permissions?: BridgeCapability[];
|
|
22
|
+
}
|
|
23
|
+
/** Tabs available in the IDE right pane. */
|
|
24
|
+
export type RightPaneTab = "preview" | "code" | "terminal";
|
|
25
|
+
export type UnifiedMessageStatus = "pending" | "loading" | "sent" | "error";
|
|
26
|
+
export type UnifiedConnectionStatus = "initializing" | "connected" | "disconnected" | "error";
|
|
27
|
+
export interface UnifiedArtifact {
|
|
28
|
+
name?: string;
|
|
29
|
+
type?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface UnifiedStatusUpdate {
|
|
32
|
+
state: string;
|
|
33
|
+
title: string;
|
|
34
|
+
detail?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface UnifiedToolInvocation {
|
|
37
|
+
toolName: string;
|
|
38
|
+
args: Record<string, unknown>;
|
|
39
|
+
result?: string;
|
|
40
|
+
state: "pending" | "running" | "completed" | "error";
|
|
41
|
+
}
|
|
42
|
+
export interface UnifiedMessage {
|
|
43
|
+
id: string;
|
|
44
|
+
content: string;
|
|
45
|
+
sender: "user" | "agent";
|
|
46
|
+
sentAt: string;
|
|
47
|
+
status: UnifiedMessageStatus;
|
|
48
|
+
artifacts?: UnifiedArtifact[];
|
|
49
|
+
statusUpdates?: UnifiedStatusUpdate[];
|
|
50
|
+
toolInvocations?: UnifiedToolInvocation[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Chat adapter provided by the host. The IDE package does not own any AI
|
|
54
|
+
* transport — the host is responsible for A2A, direct-LLM, or any other
|
|
55
|
+
* chat backend. The IDE simply renders messages and forwards user input.
|
|
56
|
+
*/
|
|
57
|
+
export interface VibeIdeChatAdapter {
|
|
58
|
+
messages: UnifiedMessage[];
|
|
59
|
+
isProcessing: boolean;
|
|
60
|
+
error: Error | null;
|
|
61
|
+
sendMessage: (text: string) => void | Promise<void>;
|
|
62
|
+
restart?: () => void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Controls which bridge capabilities are allowed, denied, or require user
|
|
66
|
+
* approval when the preview iframe makes requests through the bridge relay.
|
|
67
|
+
*/
|
|
68
|
+
export interface VibeIdePreviewPolicy {
|
|
69
|
+
/**
|
|
70
|
+
* Capabilities that are always allowed without prompting the user.
|
|
71
|
+
* Defaults to `["toast", "storage", "navigation", "events", "theme"]`.
|
|
72
|
+
*/
|
|
73
|
+
autoApproved?: BridgeCapability[];
|
|
74
|
+
/**
|
|
75
|
+
* Called when a non-auto-approved capability is requested. Return `true`
|
|
76
|
+
* to allow, `false` to deny. If omitted the package shows a built-in
|
|
77
|
+
* approval dialog.
|
|
78
|
+
*/
|
|
79
|
+
requestApproval?: (capability: BridgeCapability) => Promise<boolean>;
|
|
80
|
+
/** Optional navigation guard for `navigation.navigate()` calls. */
|
|
81
|
+
allowNavigation?: (path: string) => boolean;
|
|
82
|
+
/** Optional guard for `api.fetch()` calls from the preview. */
|
|
83
|
+
allowApiRequest?: (input: {
|
|
84
|
+
endpoint: string;
|
|
85
|
+
init?: RequestInit;
|
|
86
|
+
}) => Promise<boolean> | boolean;
|
|
87
|
+
/** Optional guard for `chat.send()` calls from the preview. */
|
|
88
|
+
allowChatRequest?: (input: {
|
|
89
|
+
serverUrl: string;
|
|
90
|
+
parts: unknown[];
|
|
91
|
+
options?: unknown;
|
|
92
|
+
}) => Promise<boolean> | boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Optional persistence adapter. When provided, the IDE can save and restore
|
|
96
|
+
* draft snapshots through the host's storage backend.
|
|
97
|
+
*/
|
|
98
|
+
export interface VibeIdePersistenceAdapter {
|
|
99
|
+
loadDraft?: (draftId: string) => Promise<FileSystemTree | null>;
|
|
100
|
+
saveDraft?: (draftId: string, snapshot: FileSystemTree) => Promise<void>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Callback for gating sensitive MCP tool calls (e.g. writing package.json,
|
|
104
|
+
* bulk deletes). If omitted, the package falls back to a built-in approval
|
|
105
|
+
* prompt rendered by the chat pane.
|
|
106
|
+
*/
|
|
107
|
+
export interface VibeIdeApprovalAdapter {
|
|
108
|
+
requestToolApproval?: (toolCall: {
|
|
109
|
+
name: string;
|
|
110
|
+
arguments: unknown;
|
|
111
|
+
}) => Promise<boolean>;
|
|
112
|
+
}
|
|
113
|
+
/** Options passed when creating the WebContainer MCP adapter. */
|
|
114
|
+
export interface WebContainerMcpAdapterOptions {
|
|
115
|
+
/** Max tool calls before forcing user interaction. Default: 15. */
|
|
116
|
+
maxToolSteps?: number;
|
|
117
|
+
/** Max deletes per cycle before requiring approval. Default: 5. */
|
|
118
|
+
maxDeletesBeforeApproval?: number;
|
|
119
|
+
/** Override the approval callback. */
|
|
120
|
+
onApprovalRequest?: (toolCall: {
|
|
121
|
+
name: string;
|
|
122
|
+
arguments: unknown;
|
|
123
|
+
}) => Promise<boolean>;
|
|
124
|
+
}
|
|
125
|
+
/** Options for booting the WebContainer singleton. */
|
|
126
|
+
export interface VibeIdeBootOptions {
|
|
127
|
+
/** Force-claim the session from another tab. */
|
|
128
|
+
takeover?: boolean;
|
|
129
|
+
/** Custom BroadcastChannel name. Default: "vibe-ide-instance". */
|
|
130
|
+
channelName?: string;
|
|
131
|
+
}
|
|
132
|
+
/** Props for `<VibeIdeProvider>`. */
|
|
133
|
+
export interface VibeIdeProviderProps {
|
|
134
|
+
/** Unique draft identifier. */
|
|
135
|
+
draftId: string;
|
|
136
|
+
/** Which template to bootstrap. */
|
|
137
|
+
templateId: TemplateId;
|
|
138
|
+
/** Host-created Bridge instance. The IDE consumes this — never creates one. */
|
|
139
|
+
bridge: Bridge;
|
|
140
|
+
/** Chat adapter. If omitted, the IDE renders an empty left pane. */
|
|
141
|
+
chat?: VibeIdeChatAdapter;
|
|
142
|
+
/** Preview capability approval policy. */
|
|
143
|
+
previewPolicy?: VibeIdePreviewPolicy;
|
|
144
|
+
/** Optional persistence adapter for save/load. */
|
|
145
|
+
persistence?: VibeIdePersistenceAdapter;
|
|
146
|
+
/** Optional tool-approval adapter. */
|
|
147
|
+
approval?: VibeIdeApprovalAdapter;
|
|
148
|
+
/** Template variable overrides. */
|
|
149
|
+
templateVars?: TemplateVars;
|
|
150
|
+
/** Pre-existing file tree to mount instead of the default template. */
|
|
151
|
+
initialTree?: FileSystemTree;
|
|
152
|
+
/** Boot options for the WebContainer. */
|
|
153
|
+
bootOptions?: VibeIdeBootOptions;
|
|
154
|
+
children: React.ReactNode;
|
|
155
|
+
}
|
|
156
|
+
/** Props for `<VibeIdeSplitLayout>`. */
|
|
157
|
+
export interface VibeIdeSplitLayoutProps {
|
|
158
|
+
/** Host-provided left pane content (e.g. a custom chat UI). */
|
|
159
|
+
leftPane?: React.ReactNode;
|
|
160
|
+
/** Extra toolbar content injected after the tab pills. */
|
|
161
|
+
toolbar?: React.ReactNode;
|
|
162
|
+
}
|
|
163
|
+
/** Internal IDE state exposed via `useVibeIde()`. */
|
|
164
|
+
export interface VibeIdeContextValue {
|
|
165
|
+
draftId: string;
|
|
166
|
+
templateId: TemplateId;
|
|
167
|
+
bridge: Bridge;
|
|
168
|
+
chat: VibeIdeChatAdapter | null;
|
|
169
|
+
previewPolicy: VibeIdePreviewPolicy;
|
|
170
|
+
approval: VibeIdeApprovalAdapter;
|
|
171
|
+
webcontainer: {
|
|
172
|
+
status: "idle" | "booting" | "ready" | "error" | "blocked";
|
|
173
|
+
instance: import("@webcontainer/api").WebContainer | null;
|
|
174
|
+
devServerUrl: string | null;
|
|
175
|
+
error: Error | null;
|
|
176
|
+
restart: (options?: {
|
|
177
|
+
takeover?: boolean;
|
|
178
|
+
}) => void;
|
|
179
|
+
coalescer: import("./core/filesystem").WriteCoalescer | null;
|
|
180
|
+
};
|
|
181
|
+
manifestPermissions: BridgeCapability[];
|
|
182
|
+
activeRightPane: RightPaneTab;
|
|
183
|
+
setActiveRightPane: (tab: RightPaneTab) => void;
|
|
184
|
+
previewChannelRef: React.RefObject<unknown>;
|
|
185
|
+
bridgeRef: React.RefObject<Bridge | null>;
|
|
186
|
+
}
|
|
187
|
+
//# 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/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aiworkbench/vibe-ide",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./styles": "./dist/ide-theme.css"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "bun build ./src/index.ts --outdir ./dist --target=browser --external react --external react-dom --external react/jsx-runtime --external react-dom/client && tsc --emitDeclarationOnly && cp src/react/ide-theme.css dist/ide-theme.css",
|
|
19
|
+
"dev": "tsc --watch --emitDeclarationOnly",
|
|
20
|
+
"type-check": "tsc --noEmit",
|
|
21
|
+
"clean": "rm -rf dist",
|
|
22
|
+
"prepublishOnly": "bun run build"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@aiworkbench/vibe-types": "^0.0.4",
|
|
29
|
+
"@webcontainer/api": "^1.6.1",
|
|
30
|
+
"zod": "^3.25.0"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
34
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/react": "^19.2.10",
|
|
38
|
+
"@types/react-dom": "^19.2.3",
|
|
39
|
+
"typescript": "^5.7.0"
|
|
40
|
+
}
|
|
41
|
+
}
|