@lobu/cli 3.0.3 → 3.0.5

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.
Files changed (113) hide show
  1. package/README.md +18 -222
  2. package/dist/api/context.d.ts +20 -0
  3. package/dist/api/context.d.ts.map +1 -0
  4. package/dist/api/context.js +113 -0
  5. package/dist/api/context.js.map +1 -0
  6. package/dist/api/credentials.d.ts +9 -4
  7. package/dist/api/credentials.d.ts.map +1 -1
  8. package/dist/api/credentials.js +127 -15
  9. package/dist/api/credentials.js.map +1 -1
  10. package/dist/commands/chat.d.ts +16 -0
  11. package/dist/commands/chat.d.ts.map +1 -0
  12. package/dist/commands/chat.js +281 -0
  13. package/dist/commands/chat.js.map +1 -0
  14. package/dist/commands/context.d.ts +8 -0
  15. package/dist/commands/context.d.ts.map +1 -0
  16. package/dist/commands/context.js +46 -0
  17. package/dist/commands/context.js.map +1 -0
  18. package/dist/commands/dev.d.ts +3 -9
  19. package/dist/commands/dev.d.ts.map +1 -1
  20. package/dist/commands/dev.js +95 -64
  21. package/dist/commands/dev.js.map +1 -1
  22. package/dist/commands/init.d.ts.map +1 -1
  23. package/dist/commands/init.js +421 -673
  24. package/dist/commands/init.js.map +1 -1
  25. package/dist/commands/login.d.ts +2 -0
  26. package/dist/commands/login.d.ts.map +1 -1
  27. package/dist/commands/login.js +283 -14
  28. package/dist/commands/login.js.map +1 -1
  29. package/dist/commands/logout.d.ts +3 -1
  30. package/dist/commands/logout.d.ts.map +1 -1
  31. package/dist/commands/logout.js +5 -3
  32. package/dist/commands/logout.js.map +1 -1
  33. package/dist/commands/providers/add.d.ts.map +1 -1
  34. package/dist/commands/providers/add.js +38 -14
  35. package/dist/commands/providers/add.js.map +1 -1
  36. package/dist/commands/providers/list.d.ts.map +1 -1
  37. package/dist/commands/providers/list.js +4 -2
  38. package/dist/commands/providers/list.js.map +1 -1
  39. package/dist/commands/skills/add.d.ts.map +1 -1
  40. package/dist/commands/skills/add.js +25 -7
  41. package/dist/commands/skills/add.js.map +1 -1
  42. package/dist/commands/skills/info.d.ts.map +1 -1
  43. package/dist/commands/skills/info.js +0 -9
  44. package/dist/commands/skills/info.js.map +1 -1
  45. package/dist/commands/skills/list.d.ts.map +1 -1
  46. package/dist/commands/skills/list.js +5 -6
  47. package/dist/commands/skills/list.js.map +1 -1
  48. package/dist/commands/skills/registry.d.ts +6 -11
  49. package/dist/commands/skills/registry.d.ts.map +1 -1
  50. package/dist/commands/skills/registry.js +0 -3
  51. package/dist/commands/skills/registry.js.map +1 -1
  52. package/dist/commands/skills/search.d.ts.map +1 -1
  53. package/dist/commands/skills/search.js +3 -1
  54. package/dist/commands/skills/search.js.map +1 -1
  55. package/dist/commands/status.d.ts +1 -1
  56. package/dist/commands/status.d.ts.map +1 -1
  57. package/dist/commands/status.js +107 -4
  58. package/dist/commands/status.js.map +1 -1
  59. package/dist/commands/validate.d.ts.map +1 -1
  60. package/dist/commands/validate.js +9 -20
  61. package/dist/commands/validate.js.map +1 -1
  62. package/dist/commands/whoami.d.ts +3 -1
  63. package/dist/commands/whoami.d.ts.map +1 -1
  64. package/dist/commands/whoami.js +17 -3
  65. package/dist/commands/whoami.js.map +1 -1
  66. package/dist/config/loader.d.ts.map +1 -1
  67. package/dist/config/loader.js.map +1 -1
  68. package/dist/config/schema.d.ts +546 -111
  69. package/dist/config/schema.d.ts.map +1 -1
  70. package/dist/config/schema.js +26 -19
  71. package/dist/config/schema.js.map +1 -1
  72. package/dist/index.d.ts +0 -4
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +60 -25
  75. package/dist/index.js.map +1 -1
  76. package/dist/utils/markdown.d.ts +3 -0
  77. package/dist/utils/markdown.d.ts.map +1 -0
  78. package/dist/utils/markdown.js +10 -0
  79. package/dist/utils/markdown.js.map +1 -0
  80. package/package.json +4 -3
  81. package/dist/api/client.d.ts +0 -11
  82. package/dist/api/client.d.ts.map +0 -1
  83. package/dist/api/client.js +0 -35
  84. package/dist/api/client.js.map +0 -1
  85. package/dist/commands/launch.d.ts +0 -6
  86. package/dist/commands/launch.d.ts.map +0 -1
  87. package/dist/commands/launch.js +0 -32
  88. package/dist/commands/launch.js.map +0 -1
  89. package/dist/config/transformer.d.ts +0 -11
  90. package/dist/config/transformer.d.ts.map +0 -1
  91. package/dist/config/transformer.js +0 -49
  92. package/dist/config/transformer.js.map +0 -1
  93. package/dist/mcp-servers.d.ts +0 -11
  94. package/dist/mcp-servers.d.ts.map +0 -1
  95. package/dist/mcp-servers.js +0 -27
  96. package/dist/mcp-servers.js.map +0 -1
  97. package/dist/mcp-servers.json +0 -216
  98. package/dist/system-skills.json +0 -561
  99. package/dist/templates/.env.tmpl +0 -29
  100. package/dist/templates/.gitignore.tmpl +0 -32
  101. package/dist/templates/AGENTS.md.tmpl +0 -1
  102. package/dist/templates/Dockerfile.worker.tmpl +0 -29
  103. package/dist/templates/README.md.tmpl +0 -95
  104. package/dist/templates/TESTING.md.tmpl +0 -225
  105. package/dist/templates/lobu.toml.tmpl +0 -44
  106. package/dist/types.d.ts +0 -76
  107. package/dist/types.d.ts.map +0 -1
  108. package/dist/types.js +0 -2
  109. package/dist/types.js.map +0 -1
  110. package/dist/utils/config.d.ts +0 -2
  111. package/dist/utils/config.d.ts.map +0 -1
  112. package/dist/utils/config.js +0 -13
  113. package/dist/utils/config.js.map +0 -1
@@ -1,95 +0,0 @@
1
- # {{PROJECT_NAME}}
2
-
3
- Lobu instance created with `@lobu/cli` v{{CLI_VERSION}}
4
-
5
- ## Quick Start
6
-
7
- Make sure you have Docker CLI installed.
8
-
9
- ```bash
10
- # Start the services (automatically builds worker image on first run)
11
- docker compose up -d
12
-
13
- # View logs
14
- docker compose logs -f
15
-
16
- # Stop the services
17
- docker compose down
18
- ```
19
-
20
- **Note**: The first startup will take a few minutes to build the worker image. Subsequent starts will be much faster.
21
-
22
- ## Upgrading to Latest Version
23
-
24
- ### Update Gateway and Pre-built Images
25
- Pull the latest images and restart services:
26
- ```bash
27
- docker compose pull
28
- docker compose up -d
29
- ```
30
-
31
- ### Rebuild Worker (when Dockerfile.worker changes)
32
- If you modified your `Dockerfile.worker` or want to use the latest base image:
33
- ```bash
34
- docker compose build worker
35
- docker compose restart gateway
36
- ```
37
-
38
- ### Update Environment Variables
39
- Check for new environment variables in release notes or the [Lobu documentation](https://github.com/lobu-ai/lobu):
40
- 1. Compare your `.env` with the latest `.env.example` from the repository
41
- 2. Add any new required variables
42
- 3. Restart services: `docker compose restart`
43
-
44
- **Tip**: Always use `latest` tags to ensure gateway and worker versions stay in sync.
45
-
46
- ## Configuration
47
-
48
- ### Environment Variables
49
-
50
- Edit `.env` to configure:
51
- - `SLACK_BOT_TOKEN` - Your Slack bot token
52
- - `SLACK_APP_TOKEN` - Your Slack app token
53
- - `SLACK_SIGNING_SECRET` - Your Slack signing secret
54
- - `ANTHROPIC_API_KEY` - Your Anthropic API key (optional if users provide their own)
55
- - `PUBLIC_GATEWAY_URL` - Public URL for OAuth callbacks
56
-
57
- ### Worker Customization
58
-
59
- Edit `Dockerfile.worker` to add custom tools and dependencies.
60
-
61
- Example customizations:
62
- ```dockerfile
63
- # Add system packages
64
- RUN apt-get update && apt-get install -y postgresql-client
65
-
66
- # Add Python packages
67
- RUN pip install pandas matplotlib
68
-
69
- # Add Node.js packages
70
- RUN bun add @octokit/rest
71
- ```
72
-
73
- When you modify `Dockerfile.worker` or context files, rebuild the worker image:
74
- ```bash
75
- docker compose build worker
76
- ```
77
-
78
- The gateway will automatically pick up the latest worker image.
79
-
80
- ## Services
81
-
82
- The docker-compose.yml defines these services:
83
- - **redis** - Redis cache and queue
84
- - **gateway** - Slack integration and worker orchestration
85
- - **worker** - Claude worker (build-only, spawned dynamically)
86
-
87
- ## Learn More
88
-
89
- - [Lobu Documentation](https://github.com/lobu-ai/lobu)
90
- - [CLI Reference](https://github.com/lobu-ai/lobu/tree/main/packages/cli)
91
- - [Examples](https://github.com/lobu-ai/lobu/tree/main/examples)
92
-
93
- ## Support
94
-
95
- - [GitHub Issues](https://github.com/lobu-ai/lobu/issues)
@@ -1,225 +0,0 @@
1
- # Testing Your Lobu
2
-
3
- This bot provides HTTP APIs for testing and automation. These endpoints allow AI agents and developers to interact with your bot programmatically.
4
-
5
- ## 1. Messaging API
6
-
7
- Send messages to your bot with optional file uploads.
8
-
9
- ### Endpoint
10
- ```
11
- POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send
12
- ```
13
-
14
- ### Authentication
15
-
16
- **Bearer Token in Header:**
17
- ```
18
- Authorization: Bearer xoxb-your-bot-token
19
- ```
20
-
21
- The bot token must be provided in the `Authorization` header, not in the request body.
22
-
23
- ### Request Format
24
-
25
- #### JSON Request (Simple Message)
26
- ```bash
27
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
28
- -H "Authorization: Bearer xoxb-your-bot-token" \
29
- -H "Content-Type: application/json" \
30
- -d '{
31
- "platform": "slack",
32
- "channel": "general",
33
- "message": "what is 2+2?"
34
- }'
35
- ```
36
-
37
- #### Multipart Request (With File Upload)
38
- ```bash
39
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
40
- -H "Authorization: Bearer xoxb-your-bot-token" \
41
- -F "platform=slack" \
42
- -F "channel=C12345678" \
43
- -F "message=please review this file" \
44
- -F "file=@/path/to/document.pdf"
45
- ```
46
-
47
- ### Parameters
48
-
49
- | Field | Required | Description |
50
- |-------|----------|-------------|
51
- | `platform` | Yes | Platform name (currently: "slack") |
52
- | `channel` | Yes | Channel ID (e.g., `C12345678`) or name (e.g., `general`, `#general`) |
53
- | `message` | Yes | Message text to send (use `@me` to mention the bot) |
54
- | `threadId` | No | Thread ID to reply to (for thread continuity) |
55
- | `files` | No | File attachments (multipart/form-data, up to 10 files) |
56
-
57
- ### Response Format
58
-
59
- ```json
60
- {
61
- "success": true,
62
- "channel": "C12345678",
63
- "messageId": "1234567890.123456",
64
- "threadId": "1234567890.123456",
65
- "threadUrl": "https://app.slack.com/client/T12345/C12345678/thread/1234567890.123456"
66
- }
67
- ```
68
-
69
- **Note about `threadId`:**
70
- - When posting a new message (no `threadId` parameter), `threadId` equals `messageId`
71
- - When replying to a thread (with `threadId` parameter), `threadId` is the original thread's ID
72
-
73
- ### Bot Mentions
74
-
75
- Use the `@me` placeholder to mention the bot in a platform-agnostic way:
76
-
77
- ```json
78
- {
79
- "message": "@me what is 2+2?"
80
- }
81
- ```
82
-
83
- The API automatically replaces `@me` with the correct bot mention for the platform:
84
- - **Slack**: `<@U12345>`
85
- - **Discord** (future): `<@123456>`
86
- - **Telegram** (future): `@botname`
87
-
88
- If you don't want to mention the bot, simply omit `@me` from your message.
89
-
90
- ### Example: Simple Text Message (with @me)
91
-
92
- ```bash
93
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
94
- -H "Authorization: Bearer xoxb-your-bot-token" \
95
- -H "Content-Type: application/json" \
96
- -d '{
97
- "platform": "slack",
98
- "channel": "general",
99
- "message": "@me what is 2+2?"
100
- }'
101
- ```
102
-
103
- ### Example: Without Bot Mention
104
-
105
- ```bash
106
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
107
- -H "Authorization: Bearer xoxb-your-bot-token" \
108
- -H "Content-Type: application/json" \
109
- -d '{
110
- "platform": "slack",
111
- "channel": "general",
112
- "message": "just a regular message"
113
- }'
114
- ```
115
-
116
- ### Example: Thread Reply
117
-
118
- ```bash
119
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
120
- -H "Authorization: Bearer xoxb-your-bot-token" \
121
- -H "Content-Type: application/json" \
122
- -d '{
123
- "platform": "slack",
124
- "channel": "C12345678",
125
- "message": "tell me more about that",
126
- "threadId": "1234567890.123456"
127
- }'
128
- ```
129
-
130
- ### Example: Single File Upload
131
-
132
- ```bash
133
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
134
- -H "Authorization: Bearer xoxb-your-bot-token" \
135
- -F "platform=slack" \
136
- -F "channel=dev-channel" \
137
- -F "message=@me analyze this CSV" \
138
- -F "files=@data.csv"
139
- ```
140
-
141
- ### Example: Multiple File Upload
142
-
143
- ```bash
144
- curl -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
145
- -H "Authorization: Bearer xoxb-your-bot-token" \
146
- -F "platform=slack" \
147
- -F "channel=dev-channel" \
148
- -F "message=@me review these documents" \
149
- -F "files=@document1.pdf" \
150
- -F "files=@document2.pdf" \
151
- -F "files=@spreadsheet.xlsx"
152
- ```
153
-
154
- ### Channel Name Resolution
155
-
156
- The API automatically resolves channel names to IDs:
157
- - `"general"` → `"C12345678"`
158
- - `"#general"` → `"C12345678"`
159
- - `"C12345678"` → `"C12345678"` (already an ID)
160
-
161
- ### Error Handling
162
-
163
- ```json
164
- {
165
- "success": false,
166
- "error": "Failed to send message",
167
- "details": "Channel \"nonexistent\" not found"
168
- }
169
- ```
170
-
171
- Common errors:
172
- - `400`: Missing required fields (`platform`, `channel`, or `message`)
173
- - `401`: Missing or invalid `Authorization` header
174
- - `404`: Platform not found
175
- - `500`: Platform API error (invalid token, channel not found, etc.)
176
- - `501`: Platform doesn't support `sendMessage`
177
-
178
- ### Platform-Agnostic Design
179
-
180
- The messaging API is designed to work across multiple chat platforms:
181
-
182
- **Current Support:**
183
- - Slack (bot mentions: `<@U12345>`, uses `@me` placeholder)
184
-
185
- **Future Support:**
186
- - Discord (bot mentions: `<@123456>`, uses `@me` placeholder)
187
- - Telegram (bot mentions: `@botname`, uses `@me` placeholder)
188
-
189
- The `@me` placeholder ensures your code works across all platforms without modification.
190
-
191
- ---
192
-
193
- ## 2. Complete E2E Testing Example
194
-
195
- Testing a full conversation:
196
-
197
- ```bash
198
- # Step 1: Send initial message
199
- RESPONSE=$(curl -s -X POST http://localhost:{{GATEWAY_PORT}}/api/messaging/send \
200
- -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
201
- -H "Content-Type: application/json" \
202
- -d '{
203
- "platform": "slack",
204
- "channel": "test-channel",
205
- "message": "@me give me three options"
206
- }')
207
-
208
- THREAD_ID=$(echo $RESPONSE | jq -r '.threadId')
209
- echo "Thread ID: $THREAD_ID"
210
-
211
- # Step 2: Verify bot response
212
- # (Check thread for follow-up message)
213
- ```
214
-
215
- ---
216
-
217
- ## 4. Notes for AI Agents
218
-
219
- These APIs enable your AI agents to:
220
- - **Test connectivity**: Verify bot deployment is working
221
- - **E2E testing**: Automate full conversation flows
222
- - **CI/CD integration**: Run automated tests before deployment
223
- - **Development**: Quickly test bot behavior without manual Slack interaction
224
-
225
- The messaging endpoint is **platform-agnostic** by design. While Slack is currently supported, the same API structure will work for Discord, Teams, and other platforms in the future.
@@ -1,44 +0,0 @@
1
- # lobu.toml — Agent configuration
2
- # Docs: https://lobu.ai/docs/getting-started
3
- #
4
- # Agent identity lives in markdown files:
5
- # IDENTITY.md — Who the agent is (persona, name, tone)
6
- # SOUL.md — Behavior rules & instructions
7
- # USER.md — User-specific context (timezone, preferences)
8
- # skills/*.md — Custom capabilities (auto-discovered)
9
-
10
- [agent]
11
- name = "{{AGENT_NAME}}"
12
- description = "{{AGENT_DESCRIPTION}}"
13
-
14
- # LLM providers (order = priority)
15
- [[providers]]
16
- id = "groq"
17
- model = "llama-3.3-70b-versatile"
18
-
19
- # Skills from the registry (run `lobu skills list` to see available)
20
- [skills]
21
- enabled = ["github"]
22
-
23
- # Custom MCP servers
24
- # [skills.mcp.my-server]
25
- # url = "https://mcp.example.com/sse"
26
-
27
- # [skills.mcp.playwright]
28
- # command = "npx"
29
- # args = ["-y", "@playwright/mcp"]
30
-
31
- # Network sandbox
32
- [network]
33
- allowed = ["api.github.com", "registry.npmjs.org", "pypi.org"]
34
-
35
- # Worker config
36
- # [worker]
37
- # nix_packages = ["python311", "ffmpeg"]
38
- # timeout_minutes = 5
39
-
40
- # Platforms (which messaging channels)
41
- [platforms]
42
- api = true
43
- # telegram = true
44
- # slack = true
package/dist/types.d.ts DELETED
@@ -1,76 +0,0 @@
1
- export interface LobuConfig {
2
- worker: WorkerConfig;
3
- gateway: GatewayConfig;
4
- credentials: CredentialsConfig;
5
- targets?: TargetsConfig;
6
- }
7
- export type WorkerImageSource = {
8
- source: "base";
9
- } | {
10
- source: "dockerfile";
11
- dockerfile?: string;
12
- } | {
13
- source: "registry";
14
- image: string;
15
- };
16
- export interface WorkerConfig {
17
- image?: string | WorkerImageSource;
18
- resources: ResourceConfig;
19
- environment?: Record<string, string>;
20
- volumes?: VolumeMount[];
21
- storage?: StorageConfig;
22
- scaling?: ScalingConfig;
23
- }
24
- export interface ResourceConfig {
25
- cpu: string;
26
- memory: string;
27
- }
28
- export interface VolumeMount {
29
- host: string;
30
- container: string;
31
- readOnly?: boolean;
32
- }
33
- export interface StorageConfig {
34
- workspace?: {
35
- type: "persistent" | "ephemeral";
36
- size?: string;
37
- };
38
- }
39
- export interface ScalingConfig {
40
- max?: number;
41
- idleTimeout?: string;
42
- }
43
- export interface GatewayConfig {
44
- port: number;
45
- publicUrl?: string;
46
- }
47
- export interface CredentialsConfig {
48
- slack: {
49
- signingSecret: string;
50
- botToken: string;
51
- appToken: string;
52
- };
53
- anthropic: {
54
- apiKey: string;
55
- };
56
- }
57
- export interface TargetsConfig {
58
- docker?: DockerTargetConfig;
59
- }
60
- export interface DockerTargetConfig {
61
- network?: string;
62
- compose?: {
63
- projectName?: string;
64
- };
65
- }
66
- export type DeploymentTarget = "docker";
67
- export interface InitOptions {
68
- target: DeploymentTarget;
69
- projectName: string;
70
- customize: boolean;
71
- }
72
- export interface DeployOptions {
73
- target?: DeploymentTarget;
74
- values?: string;
75
- }
76
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACnC,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,YAAY,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare function checkConfigExists(cwd: string): Promise<boolean>;
2
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAIA,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE"}
@@ -1,13 +0,0 @@
1
- import { constants } from "node:fs";
2
- import { access } from "node:fs/promises";
3
- import { join } from "node:path";
4
- export async function checkConfigExists(cwd) {
5
- try {
6
- await access(join(cwd, ".lobu"), constants.F_OK);
7
- return true;
8
- }
9
- catch {
10
- return false;
11
- }
12
- }
13
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}