telemeister 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 +674 -0
- package/README.md +460 -0
- package/bin/telemeister.js +18 -0
- package/dist/bot/polling.d.ts +20 -0
- package/dist/bot/polling.d.ts.map +1 -0
- package/dist/bot/polling.js +115 -0
- package/dist/bot/polling.js.map +1 -0
- package/dist/bot/session.d.ts +50 -0
- package/dist/bot/session.d.ts.map +1 -0
- package/dist/bot/session.js +92 -0
- package/dist/bot/session.js.map +1 -0
- package/dist/bot/webhook.d.ts +36 -0
- package/dist/bot/webhook.d.ts.map +1 -0
- package/dist/bot/webhook.js +199 -0
- package/dist/bot/webhook.js.map +1 -0
- package/dist/bot-state-types.d.ts +10 -0
- package/dist/bot-state-types.d.ts.map +1 -0
- package/dist/bot-state-types.js +3 -0
- package/dist/bot-state-types.js.map +1 -0
- package/dist/cli/cli.d.ts +14 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +57 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/create-bot.d.ts +5 -0
- package/dist/cli/create-bot.d.ts.map +1 -0
- package/dist/cli/create-bot.js +275 -0
- package/dist/cli/create-bot.js.map +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/state-manager.d.ts +9 -0
- package/dist/cli/state-manager.d.ts.map +1 -0
- package/dist/cli/state-manager.js +381 -0
- package/dist/cli/state-manager.js.map +1 -0
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +52 -0
- package/dist/config.js.map +1 -0
- package/dist/core/app-states.d.ts +8 -0
- package/dist/core/app-states.d.ts.map +1 -0
- package/dist/core/app-states.js +8 -0
- package/dist/core/app-states.js.map +1 -0
- package/dist/core/builder.d.ts +138 -0
- package/dist/core/builder.d.ts.map +1 -0
- package/dist/core/builder.js +195 -0
- package/dist/core/builder.js.map +1 -0
- package/dist/core/compact-machine.d.ts +57 -0
- package/dist/core/compact-machine.d.ts.map +1 -0
- package/dist/core/compact-machine.js +113 -0
- package/dist/core/compact-machine.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +47 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/database.d.ts +43 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +127 -0
- package/dist/database.js.map +1 -0
- package/dist/generated/prisma/browser.d.ts +15 -0
- package/dist/generated/prisma/browser.d.ts.map +1 -0
- package/dist/generated/prisma/browser.js +18 -0
- package/dist/generated/prisma/browser.js.map +1 -0
- package/dist/generated/prisma/client.d.ts +32 -0
- package/dist/generated/prisma/client.d.ts.map +1 -0
- package/dist/generated/prisma/client.js +33 -0
- package/dist/generated/prisma/client.js.map +1 -0
- package/dist/generated/prisma/commonInputTypes.d.ts +166 -0
- package/dist/generated/prisma/commonInputTypes.d.ts.map +1 -0
- package/dist/generated/prisma/commonInputTypes.js +11 -0
- package/dist/generated/prisma/commonInputTypes.js.map +1 -0
- package/dist/generated/prisma/enums.d.ts +2 -0
- package/dist/generated/prisma/enums.d.ts.map +1 -0
- package/dist/generated/prisma/enums.js +11 -0
- package/dist/generated/prisma/enums.js.map +1 -0
- package/dist/generated/prisma/internal/class.d.ts +138 -0
- package/dist/generated/prisma/internal/class.d.ts.map +1 -0
- package/dist/generated/prisma/internal/class.js +50 -0
- package/dist/generated/prisma/internal/class.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +591 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.js +96 -0
- package/dist/generated/prisma/internal/prismaNamespace.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +56 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +67 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -0
- package/dist/generated/prisma/models/User.d.ts +1181 -0
- package/dist/generated/prisma/models/User.d.ts.map +1 -0
- package/dist/generated/prisma/models/User.js +2 -0
- package/dist/generated/prisma/models/User.js.map +1 -0
- package/dist/generated/prisma/models/UserInfo.d.ts +1101 -0
- package/dist/generated/prisma/models/UserInfo.d.ts.map +1 -0
- package/dist/generated/prisma/models/UserInfo.js +2 -0
- package/dist/generated/prisma/models/UserInfo.js.map +1 -0
- package/dist/generated/prisma/models.d.ts +4 -0
- package/dist/generated/prisma/models.d.ts.map +1 -0
- package/dist/generated/prisma/models.js +2 -0
- package/dist/generated/prisma/models.js.map +1 -0
- package/dist/handlers/idle/index.d.ts +2 -0
- package/dist/handlers/idle/index.d.ts.map +1 -0
- package/dist/handlers/idle/index.js +22 -0
- package/dist/handlers/idle/index.js.map +1 -0
- package/dist/handlers/index.d.ts +12 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +14 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/menu/index.d.ts +2 -0
- package/dist/handlers/menu/index.d.ts.map +1 -0
- package/dist/handlers/menu/index.js +35 -0
- package/dist/handlers/menu/index.js.map +1 -0
- package/dist/handlers/menu.d.ts +2 -0
- package/dist/handlers/menu.d.ts.map +1 -0
- package/dist/handlers/menu.js +37 -0
- package/dist/handlers/menu.js.map +1 -0
- package/dist/handlers/welcome/index.d.ts +2 -0
- package/dist/handlers/welcome/index.d.ts.map +1 -0
- package/dist/handlers/welcome/index.js +22 -0
- package/dist/handlers/welcome/index.js.map +1 -0
- package/dist/handlers/welcome.d.ts +2 -0
- package/dist/handlers/welcome.d.ts.map +1 -0
- package/dist/handlers/welcome.js +30 -0
- package/dist/handlers/welcome.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/package.json +111 -0
- package/templates/handler.ts.ejs +36 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create Bot Project scaffolding
|
|
3
|
+
*/
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
const DEFAULT_BOT_JSON = {
|
|
7
|
+
idle: ['welcome'],
|
|
8
|
+
welcome: ['menu'],
|
|
9
|
+
menu: ['welcome'],
|
|
10
|
+
};
|
|
11
|
+
const GITIGNORE_CONTENT = `# Dependencies
|
|
12
|
+
node_modules/
|
|
13
|
+
|
|
14
|
+
# Environment variables
|
|
15
|
+
.env
|
|
16
|
+
.env.local
|
|
17
|
+
.env.*.local
|
|
18
|
+
|
|
19
|
+
# Build output
|
|
20
|
+
dist/
|
|
21
|
+
|
|
22
|
+
# Bot configuration (generated)
|
|
23
|
+
bot.json
|
|
24
|
+
src/bot-state-types.ts
|
|
25
|
+
src/bot-diagram.md
|
|
26
|
+
src/bot-diagram.png
|
|
27
|
+
|
|
28
|
+
# Prisma
|
|
29
|
+
prisma/*.db
|
|
30
|
+
prisma/*.db-journal
|
|
31
|
+
|
|
32
|
+
# Logs
|
|
33
|
+
*.log
|
|
34
|
+
|
|
35
|
+
# OS
|
|
36
|
+
.DS_Store
|
|
37
|
+
Thumbs.db
|
|
38
|
+
`;
|
|
39
|
+
const TS_CONFIG_CONTENT = `{
|
|
40
|
+
"compilerOptions": {
|
|
41
|
+
"target": "ES2022",
|
|
42
|
+
"module": "NodeNext",
|
|
43
|
+
"moduleResolution": "NodeNext",
|
|
44
|
+
"esModuleInterop": true,
|
|
45
|
+
"strict": true,
|
|
46
|
+
"skipLibCheck": true,
|
|
47
|
+
"forceConsistentCasingInFileNames": true,
|
|
48
|
+
"resolveJsonModule": true,
|
|
49
|
+
"outDir": "./dist",
|
|
50
|
+
"rootDir": "./src",
|
|
51
|
+
"declaration": true,
|
|
52
|
+
"declarationMap": true,
|
|
53
|
+
"sourceMap": true
|
|
54
|
+
},
|
|
55
|
+
"include": ["src/**/*"],
|
|
56
|
+
"exclude": ["node_modules", "dist"]
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
const INDEX_TS_CONTENT = `/**
|
|
60
|
+
* Bot entry point
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
import { botBuilder } from 'telemeister/core';
|
|
64
|
+
import './handlers/index.js';
|
|
65
|
+
|
|
66
|
+
const bot = botBuilder.build();
|
|
67
|
+
|
|
68
|
+
// Start bot
|
|
69
|
+
bot.start();
|
|
70
|
+
`;
|
|
71
|
+
const HANDLERS_INDEX_CONTENT = `/**
|
|
72
|
+
* State Handlers Index
|
|
73
|
+
*
|
|
74
|
+
* Import all your state handler files here.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
import './idle/index.js';
|
|
78
|
+
import './welcome/index.js';
|
|
79
|
+
import './menu/index.js';
|
|
80
|
+
`;
|
|
81
|
+
const IDLE_HANDLER_CONTENT = `import { appBuilder, type AppContext } from 'telemeister/core';
|
|
82
|
+
import type { IdleTransitions } from '../bot-state-types.js';
|
|
83
|
+
|
|
84
|
+
appBuilder
|
|
85
|
+
.forState('idle')
|
|
86
|
+
.onEnter(async (context: AppContext): IdleTransitions => {
|
|
87
|
+
// Bot is idle, ready for user interaction
|
|
88
|
+
// This state is typically the entry point
|
|
89
|
+
return 'welcome';
|
|
90
|
+
})
|
|
91
|
+
.onResponse(async (context: AppContext, response): IdleTransitions => {
|
|
92
|
+
// Handle user messages when in idle state
|
|
93
|
+
const text = response.trim();
|
|
94
|
+
await context.send('Welcome! Type anything to start.');
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
console.log('✅ State handler registered: idle');
|
|
98
|
+
`;
|
|
99
|
+
const WELCOME_HANDLER_CONTENT = `import { appBuilder, type AppContext } from 'telemeister/core';
|
|
100
|
+
import type { WelcomeTransitions } from '../bot-state-types.js';
|
|
101
|
+
|
|
102
|
+
appBuilder
|
|
103
|
+
.forState('welcome')
|
|
104
|
+
.onEnter(async (context: AppContext): WelcomeTransitions => {
|
|
105
|
+
await context.send('Hello! Welcome to the bot!');
|
|
106
|
+
return 'menu';
|
|
107
|
+
})
|
|
108
|
+
.onResponse(async (context: AppContext, response): WelcomeTransitions => {
|
|
109
|
+
const text = response.trim();
|
|
110
|
+
await context.send('Welcome! Choose an option:');
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
console.log('✅ State handler registered: welcome');
|
|
114
|
+
`;
|
|
115
|
+
const MENU_HANDLER_CONTENT = `import { appBuilder, type AppContext } from 'telemeister/core';
|
|
116
|
+
import type { MenuTransitions } from '../bot-state-types.js';
|
|
117
|
+
|
|
118
|
+
appBuilder
|
|
119
|
+
.forState('menu')
|
|
120
|
+
.onEnter(async (context: AppContext): MenuTransitions => {
|
|
121
|
+
await context.send('Main Menu\\n\\n1. Start over\\n2. Exit');
|
|
122
|
+
})
|
|
123
|
+
.onResponse(async (context: AppContext, response): MenuTransitions => {
|
|
124
|
+
const text = response.trim();
|
|
125
|
+
|
|
126
|
+
if (text === '1') {
|
|
127
|
+
return 'welcome';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
await context.send('Menu option selected: ' + text);
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
console.log('✅ State handler registered: menu');
|
|
134
|
+
`;
|
|
135
|
+
const ENV_CONTENT = `# Telegram Bot Configuration
|
|
136
|
+
BOT_TOKEN=your_bot_token_here
|
|
137
|
+
|
|
138
|
+
# Database (SQLite for development)
|
|
139
|
+
DATABASE_URL=file:./prisma/dev.db
|
|
140
|
+
`;
|
|
141
|
+
const PRISMA_SCHEMA_CONTENT = `generator client {
|
|
142
|
+
provider = "prisma-client-js"
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
datasource db {
|
|
146
|
+
provider = "sqlite"
|
|
147
|
+
url = env("DATABASE_URL")
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
model User {
|
|
151
|
+
id Int @id @default(autoincrement())
|
|
152
|
+
telegramId BigInt @unique
|
|
153
|
+
chatId BigInt
|
|
154
|
+
currentState String @default("idle")
|
|
155
|
+
createdAt DateTime @default(now())
|
|
156
|
+
updatedAt DateTime @updatedAt
|
|
157
|
+
}
|
|
158
|
+
`;
|
|
159
|
+
const README_CONTENT = (botName) => `# ${botName}
|
|
160
|
+
|
|
161
|
+
Telegram bot built with Telemeister.
|
|
162
|
+
|
|
163
|
+
## Getting Started
|
|
164
|
+
|
|
165
|
+
1. Install dependencies:
|
|
166
|
+
\`\`\`bash
|
|
167
|
+
npm install
|
|
168
|
+
\`\`\`
|
|
169
|
+
|
|
170
|
+
2. Set up environment variables:
|
|
171
|
+
\`\`\`bash
|
|
172
|
+
cp .env.example .env
|
|
173
|
+
# Edit .env and add your bot token
|
|
174
|
+
\`\`\`
|
|
175
|
+
|
|
176
|
+
3. Set up the database:
|
|
177
|
+
\`\`\`bash
|
|
178
|
+
npm run db:generate
|
|
179
|
+
npm run db:migrate
|
|
180
|
+
\`\`\`
|
|
181
|
+
|
|
182
|
+
4. Run the bot:
|
|
183
|
+
\`\`\`bash
|
|
184
|
+
npm run dev
|
|
185
|
+
\`\`\`
|
|
186
|
+
|
|
187
|
+
## State Management
|
|
188
|
+
|
|
189
|
+
- \`npm run state:add <name\u003e\` - Add a new state
|
|
190
|
+
- \`npm run state:delete <name\u003e\` - Delete a state
|
|
191
|
+
- \`npm run state:sync\` - Sync types and handlers
|
|
192
|
+
- \`npm run state:transition:add <from> <to>\` - Add transition
|
|
193
|
+
- \`npm run state:transition:delete <from> <to>\` - Delete transition
|
|
194
|
+
|
|
195
|
+
## Project Structure
|
|
196
|
+
|
|
197
|
+
- \`bot.json\` - State machine configuration (do not commit)
|
|
198
|
+
- \`src/handlers/\` - State handler implementations
|
|
199
|
+
- \`src/bot-state-types.ts\` - Generated types (do not edit)
|
|
200
|
+
`;
|
|
201
|
+
export async function createBot(botName) {
|
|
202
|
+
if (!botName) {
|
|
203
|
+
console.error('❌ Error: Bot name is required');
|
|
204
|
+
console.error('Usage: telemeister create-bot <bot-name>');
|
|
205
|
+
process.exit(1);
|
|
206
|
+
}
|
|
207
|
+
// Validate bot name (similar to state name validation)
|
|
208
|
+
if (!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(botName)) {
|
|
209
|
+
console.error('❌ Error: Bot name must start with a letter and contain only letters, numbers, underscores, and hyphens');
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
const targetDir = path.resolve(process.cwd(), botName);
|
|
213
|
+
// Check if directory already exists
|
|
214
|
+
if (fs.existsSync(targetDir)) {
|
|
215
|
+
console.error(`❌ Error: Directory "${botName}" already exists`);
|
|
216
|
+
process.exit(1);
|
|
217
|
+
}
|
|
218
|
+
console.log(`🚀 Creating new bot: ${botName}\n`);
|
|
219
|
+
// Create directory structure
|
|
220
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
221
|
+
fs.mkdirSync(path.join(targetDir, 'src', 'handlers', 'idle'), { recursive: true });
|
|
222
|
+
fs.mkdirSync(path.join(targetDir, 'src', 'handlers', 'welcome'), { recursive: true });
|
|
223
|
+
fs.mkdirSync(path.join(targetDir, 'src', 'handlers', 'menu'), { recursive: true });
|
|
224
|
+
fs.mkdirSync(path.join(targetDir, 'prisma'), { recursive: true });
|
|
225
|
+
// Create files
|
|
226
|
+
fs.writeFileSync(path.join(targetDir, '.gitignore'), GITIGNORE_CONTENT);
|
|
227
|
+
fs.writeFileSync(path.join(targetDir, 'tsconfig.json'), TS_CONFIG_CONTENT);
|
|
228
|
+
fs.writeFileSync(path.join(targetDir, '.env.example'), ENV_CONTENT);
|
|
229
|
+
fs.writeFileSync(path.join(targetDir, 'bot.json'), JSON.stringify(DEFAULT_BOT_JSON, null, 2) + '\n');
|
|
230
|
+
fs.writeFileSync(path.join(targetDir, 'src', 'index.ts'), INDEX_TS_CONTENT);
|
|
231
|
+
fs.writeFileSync(path.join(targetDir, 'src', 'handlers', 'index.ts'), HANDLERS_INDEX_CONTENT);
|
|
232
|
+
fs.writeFileSync(path.join(targetDir, 'src', 'handlers', 'idle', 'index.ts'), IDLE_HANDLER_CONTENT);
|
|
233
|
+
fs.writeFileSync(path.join(targetDir, 'src', 'handlers', 'welcome', 'index.ts'), WELCOME_HANDLER_CONTENT);
|
|
234
|
+
fs.writeFileSync(path.join(targetDir, 'src', 'handlers', 'menu', 'index.ts'), MENU_HANDLER_CONTENT);
|
|
235
|
+
fs.writeFileSync(path.join(targetDir, 'prisma', 'schema.prisma'), PRISMA_SCHEMA_CONTENT);
|
|
236
|
+
fs.writeFileSync(path.join(targetDir, 'README.md'), README_CONTENT(botName));
|
|
237
|
+
// Create package.json with telemeister dependency
|
|
238
|
+
const packageJson = {
|
|
239
|
+
name: botName,
|
|
240
|
+
version: '0.0.1',
|
|
241
|
+
type: 'module',
|
|
242
|
+
scripts: {
|
|
243
|
+
dev: 'tsx src/index.ts',
|
|
244
|
+
build: 'tsc',
|
|
245
|
+
start: 'node dist/index.js',
|
|
246
|
+
'db:generate': 'prisma generate',
|
|
247
|
+
'db:migrate': 'prisma migrate dev',
|
|
248
|
+
'db:studio': 'prisma studio',
|
|
249
|
+
'state:add': 'telemeister state:add',
|
|
250
|
+
'state:delete': 'telemeister state:delete',
|
|
251
|
+
'state:sync': 'telemeister state:sync',
|
|
252
|
+
'state:transition:add': 'telemeister state:transition:add',
|
|
253
|
+
'state:transition:delete': 'telemeister state:transition:delete',
|
|
254
|
+
},
|
|
255
|
+
dependencies: {
|
|
256
|
+
telemeister: '^0.0.1',
|
|
257
|
+
},
|
|
258
|
+
devDependencies: {
|
|
259
|
+
'@types/node': '^20.0.0',
|
|
260
|
+
prisma: '^5.0.0',
|
|
261
|
+
tsx: '^4.0.0',
|
|
262
|
+
typescript: '^5.0.0',
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
fs.writeFileSync(path.join(targetDir, 'package.json'), JSON.stringify(packageJson, null, 2) + '\n');
|
|
266
|
+
console.log(`✅ Bot "${botName}" created successfully!\n`);
|
|
267
|
+
console.log('Next steps:');
|
|
268
|
+
console.log(` cd ${botName}`);
|
|
269
|
+
console.log(' npm install');
|
|
270
|
+
console.log(' cp .env.example .env # Add your bot token');
|
|
271
|
+
console.log(' npm run db:generate');
|
|
272
|
+
console.log(' npm run db:migrate');
|
|
273
|
+
console.log(' npm run dev');
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=create-bot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-bot.js","sourceRoot":"","sources":["../../src/cli/create-bot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Management for Telemeister CLI
|
|
3
|
+
*/
|
|
4
|
+
export declare function stateAdd(stateName: string | undefined): Promise<void>;
|
|
5
|
+
export declare function stateDelete(stateName: string | undefined): Promise<void>;
|
|
6
|
+
export declare function stateSync(): Promise<void>;
|
|
7
|
+
export declare function transitionAdd(fromState: string | undefined, toState: string | undefined): Promise<void>;
|
|
8
|
+
export declare function transitionDelete(fromState: string | undefined, toState: string | undefined): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../src/cli/state-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2PH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C3E;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuE9E;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B/C;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|