@loopstack/cli 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/README.md +61 -0
- package/dist/commands/create.d.ts +3 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +80 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/env.d.ts +3 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +42 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +32 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +62 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/run.d.ts +3 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +87 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/runs.d.ts +3 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +147 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/watch.d.ts +3 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +48 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config/config.d.ts +14 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +25 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/resolve.d.ts +18 -0
- package/dist/config/resolve.d.ts.map +1 -0
- package/dist/config/resolve.js +57 -0
- package/dist/config/resolve.js.map +1 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +36 -0
- package/dist/errors.js.map +1 -0
- package/dist/hitl/discovery.d.ts +15 -0
- package/dist/hitl/discovery.d.ts.map +1 -0
- package/dist/hitl/discovery.js +53 -0
- package/dist/hitl/discovery.js.map +1 -0
- package/dist/hitl/editor.d.ts +4 -0
- package/dist/hitl/editor.d.ts.map +1 -0
- package/dist/hitl/editor.js +73 -0
- package/dist/hitl/editor.js.map +1 -0
- package/dist/hitl/idle-handler.d.ts +8 -0
- package/dist/hitl/idle-handler.d.ts.map +1 -0
- package/dist/hitl/idle-handler.js +70 -0
- package/dist/hitl/idle-handler.js.map +1 -0
- package/dist/hitl/prompt.d.ts +14 -0
- package/dist/hitl/prompt.d.ts.map +1 -0
- package/dist/hitl/prompt.js +117 -0
- package/dist/hitl/prompt.js.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +33 -0
- package/dist/main.js.map +1 -0
- package/dist/output/format.d.ts +6 -0
- package/dist/output/format.d.ts.map +1 -0
- package/dist/output/format.js +39 -0
- package/dist/output/format.js.map +1 -0
- package/dist/output/studio-link.d.ts +4 -0
- package/dist/output/studio-link.d.ts.map +1 -0
- package/dist/output/studio-link.js +17 -0
- package/dist/output/studio-link.js.map +1 -0
- package/dist/run/args.d.ts +2 -0
- package/dist/run/args.d.ts.map +1 -0
- package/dist/run/args.js +41 -0
- package/dist/run/args.js.map +1 -0
- package/dist/run/follow.d.ts +13 -0
- package/dist/run/follow.d.ts.map +1 -0
- package/dist/run/follow.js +130 -0
- package/dist/run/follow.js.map +1 -0
- package/dist/run/workspace.d.ts +3 -0
- package/dist/run/workspace.d.ts.map +1 -0
- package/dist/run/workspace.js +26 -0
- package/dist/run/workspace.js.map +1 -0
- package/fixtures/app/CLAUDE.md +40 -0
- package/fixtures/app/README.md +21 -0
- package/fixtures/app/docker-compose.yml +33 -0
- package/fixtures/app/env.example +16 -0
- package/fixtures/app/nest-cli.json +10 -0
- package/fixtures/app/src/app.module.ts +8 -0
- package/fixtures/app/src/hello/hello.module.ts +12 -0
- package/fixtures/app/src/hello/hello.workflow.ts +28 -0
- package/fixtures/app/src/main.ts +8 -0
- package/package.json +41 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# All values are optional — the defaults below match docker-compose.yml.
|
|
2
|
+
|
|
3
|
+
# PORT=3000
|
|
4
|
+
|
|
5
|
+
# DATABASE_HOST=localhost
|
|
6
|
+
# DATABASE_PORT=5432
|
|
7
|
+
# DATABASE_USERNAME=postgres
|
|
8
|
+
# DATABASE_PASSWORD=admin
|
|
9
|
+
# DATABASE_NAME=postgres
|
|
10
|
+
|
|
11
|
+
# REDIS_HOST=localhost
|
|
12
|
+
# REDIS_PORT=6379
|
|
13
|
+
# REDIS_PASSWORD=
|
|
14
|
+
|
|
15
|
+
# API keys for LLM feature modules (e.g. @loopstack/claude-module)
|
|
16
|
+
# ANTHROPIC_API_KEY=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Module } from '@nestjs/common';
|
|
2
|
+
import { StudioApp } from '@loopstack/common';
|
|
3
|
+
import { HelloWorkflow } from './hello.workflow';
|
|
4
|
+
|
|
5
|
+
@StudioApp({
|
|
6
|
+
title: 'My First App',
|
|
7
|
+
workflows: [HelloWorkflow],
|
|
8
|
+
})
|
|
9
|
+
@Module({
|
|
10
|
+
providers: [HelloWorkflow],
|
|
11
|
+
})
|
|
12
|
+
export class HelloModule {}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BaseWorkflow, MessageDocument, Transition, Workflow } from '@loopstack/common';
|
|
3
|
+
import type { RunContext } from '@loopstack/common';
|
|
4
|
+
|
|
5
|
+
const InputSchema = z.object({
|
|
6
|
+
name: z.string().default('World'),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
type InputArgs = z.infer<typeof InputSchema>;
|
|
10
|
+
|
|
11
|
+
@Workflow({
|
|
12
|
+
title: 'Hello World',
|
|
13
|
+
description: 'Greets you by name — replace this with your first real workflow.',
|
|
14
|
+
schema: InputSchema,
|
|
15
|
+
})
|
|
16
|
+
export class HelloWorkflow extends BaseWorkflow<InputArgs> {
|
|
17
|
+
@Transition({ from: 'start', to: 'end' })
|
|
18
|
+
async greet(_state: unknown, ctx: RunContext<InputArgs>) {
|
|
19
|
+
const greeting = `Hello, ${ctx.args.name}! 👋`;
|
|
20
|
+
|
|
21
|
+
await this.documentStore.save(MessageDocument, {
|
|
22
|
+
role: 'assistant',
|
|
23
|
+
text: greeting,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
this.assignResult({ greeting });
|
|
27
|
+
}
|
|
28
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@loopstack/cli",
|
|
3
|
+
"displayName": "Loopstack CLI",
|
|
4
|
+
"description": "Run, trace, and watch Loopstack workflows from the terminal",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Jakob Klippel",
|
|
9
|
+
"url": "https://www.linkedin.com/in/jakob-klippel/"
|
|
10
|
+
},
|
|
11
|
+
"type": "module",
|
|
12
|
+
"bin": {
|
|
13
|
+
"loopstack": "dist/main.js"
|
|
14
|
+
},
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=20"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc -p tsconfig.build.json",
|
|
22
|
+
"compile": "tsc --noEmit",
|
|
23
|
+
"format": "prettier --write .",
|
|
24
|
+
"lint": "eslint .",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"watch": "tsc -p tsconfig.build.json --watch"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@loopstack/client": "^0.37.0",
|
|
30
|
+
"@loopstack/contracts": "^0.37.0",
|
|
31
|
+
"commander": "^15.0.0",
|
|
32
|
+
"picocolors": "^1.1.1"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"vitest": "^4.1.6"
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist",
|
|
39
|
+
"fixtures"
|
|
40
|
+
]
|
|
41
|
+
}
|