intu-dev 0.1.2

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 ADDED
@@ -0,0 +1,87 @@
1
+ # intu
2
+
3
+ intu is a Git-native, AI-friendly healthcare interoperability framework that lets teams build, version, and deploy integration pipelines using YAML configuration and TypeScript transformers.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm i -g intu-dev
9
+ ```
10
+
11
+ ## Commands
12
+
13
+ | Command | Description |
14
+ |---------|-------------|
15
+ | `intu init <project-name> [--dir]` | Bootstrap a new project |
16
+ | `intu c <channel-name> [--dir]` | Add a new channel |
17
+ | `intu channel add <channel-name> [--dir]` | Same as `intu c` |
18
+ | `intu channel list [--dir]` | List channels |
19
+ | `intu channel describe <id> [--dir]` | Show channel config |
20
+ | `intu validate [--dir]` | Validate project and channels |
21
+ | `intu build [--dir]` | Compile TypeScript channels |
22
+
23
+ ## Quick Start
24
+
25
+ ```bash
26
+ intu init my-project --dir .
27
+ cd my-project
28
+ npm install
29
+ intu build --dir .
30
+ ```
31
+
32
+ Add a channel:
33
+
34
+ ```bash
35
+ intu c my-channel --dir my-project
36
+ ```
37
+
38
+ ## Project Structure (after `intu init`)
39
+
40
+ ```
41
+ my-project/
42
+ ├── intu.yaml # Root config + named destinations
43
+ ├── intu.dev.yaml # Dev profile overrides
44
+ ├── intu.prod.yaml # Prod profile overrides
45
+ ├── .env
46
+ ├── channels/
47
+ │ └── sample-channel/
48
+ │ ├── channel.yaml
49
+ │ ├── transformer.ts
50
+ │ └── validator.ts
51
+ ├── package.json
52
+ ├── tsconfig.json
53
+ └── README.md
54
+ ```
55
+
56
+ ## Channel Structure (after `intu c my-channel`)
57
+
58
+ ```
59
+ channels/my-channel/
60
+ ├── channel.yaml # Listener, validator, transformer, destinations
61
+ ├── transformer.ts # Pure function: JSON in → JSON out
62
+ └── validator.ts # Validates input, throws on invalid
63
+ ```
64
+
65
+ ## Destinations
66
+
67
+ Define named destinations in `intu.yaml`, reference in channels:
68
+
69
+ ```yaml
70
+ destinations:
71
+ kafka-output:
72
+ type: kafka
73
+ kafka:
74
+ brokers: [${INTU_KAFKA_BROKER}]
75
+ topic: output-topic
76
+ ```
77
+
78
+ Channels support multi-destination:
79
+
80
+ ```yaml
81
+ destinations:
82
+ - kafka-output
83
+ - name: audit-http
84
+ type: http
85
+ http:
86
+ url: https://audit.example.com/events
87
+ ```
package/bin/intu.js ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawn } = require("child_process");
4
+ const path = require("path");
5
+ const os = require("os");
6
+
7
+ const platform = os.platform();
8
+ const arch = os.arch();
9
+
10
+ // Map Node's process.platform/arch to our binary dirs
11
+ const platformMap = {
12
+ darwin: { arm64: "darwin-arm64", x64: "darwin-x64" },
13
+ linux: { arm64: "linux-arm64", x64: "linux-x64" },
14
+ win32: { arm64: "win32-arm64", x64: "win32-x64" },
15
+ };
16
+
17
+ const dir = platformMap[platform]?.[arch];
18
+ if (!dir) {
19
+ console.error(`intu: unsupported platform ${platform}-${arch}`);
20
+ process.exit(1);
21
+ }
22
+
23
+ const ext = platform === "win32" ? ".exe" : "";
24
+ const binPath = path.join(__dirname, "..", "platform", dir, `intu${ext}`);
25
+
26
+ const child = spawn(binPath, process.argv.slice(2), {
27
+ stdio: "inherit",
28
+ windowsHide: true,
29
+ });
30
+
31
+ child.on("exit", (code) => {
32
+ process.exit(code ?? 0);
33
+ });
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "intu-dev",
3
+ "version": "0.1.2",
4
+ "description": "Git-native, AI-friendly healthcare interoperability framework. Build, version, and deploy integration pipelines with YAML config and TypeScript transformers.",
5
+ "bin": {
6
+ "intu": "./bin/intu.js"
7
+ },
8
+ "files": [
9
+ "bin",
10
+ "platform"
11
+ ],
12
+ "scripts": {
13
+ "build": "node build.js",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "keywords": [
17
+ "healthcare",
18
+ "interoperability",
19
+ "hl7",
20
+ "fhir",
21
+ "integration"
22
+ ],
23
+ "license": "MIT",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/intuware/intu-dev"
27
+ },
28
+ "engines": {
29
+ "node": ">=18"
30
+ }
31
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file