@kici-dev/compiler 0.1.18 → 0.1.20

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/cli.js CHANGED
@@ -6,7 +6,7 @@ import { resolve } from "node:path";
6
6
  import { Argument, Command, Option } from "commander";
7
7
  import pc from "picocolors";
8
8
  //#region src/cli.ts
9
- const version = "0.1.18";
9
+ const version = "0.1.20";
10
10
  /**
11
11
  * Build the kici Commander program with every command registered. Exported so
12
12
  * the surface registry can walk the real command tree without parsing argv (no
@@ -488,6 +488,8 @@ Source: https://docs.kici.dev/user/quickstart/
488
488
 
489
489
  KiCI offers two equally-supported quickstart paths. Pick the one that fits your machine — both end with the same working pipeline (orchestrator + agent + your first workflow run visible in the dashboard).
490
490
 
491
+ Each guide is split into two parts. **Part 1** gets you a green run against your own orchestrator with `kici run remote` — no GitHub App needed, just sign up, bring up the stack, and run. **Part 2** then wires up real GitHub pushes so your team's commits trigger runs automatically. You can stop after Part 1 and come back to Part 2 whenever you're ready.
492
+
491
493
  ## Option A — Docker / Podman (recommended)
492
494
 
493
495
  Two containers brought up with `docker compose up -d` (orchestrator + PostgreSQL), plus one short-lived agent container spawned per job by the container scaler. Minimal host setup, perfect for a laptop, home server, or a tiny VM. No need to install PostgreSQL or any other system service.
@@ -502,12 +504,13 @@ Native systemd services managed by `kici-admin orchestrator install` / `kici-adm
502
504
 
503
505
  ## Which should I pick?
504
506
 
505
- | | Docker / Podman | Bare metal |
506
- | ----------------- | ---------------------------------------- | ------------------------------------------------------------------------------------- |
507
- | Host requirements | `docker` or `podman` with compose v2.20+ | systemd, Node.js 24+, PostgreSQL 18 (container — needs `docker`/`podman` — or native) |
508
- | Time to first run | ~5 minutes | ~10 minutes |
509
- | Upgrades | `docker compose pull` + restart | `kici-admin orchestrator restart` after `npm install -g kici-admin@latest` |
510
- | Best for | Quick evaluation, ephemeral hosts | Long-lived production hosts |
507
+ | | Docker / Podman | Bare metal |
508
+ | ------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------- |
509
+ | Host requirements | `docker` or `podman` with compose v2.20+ | systemd, Node.js 24+, PostgreSQL 18 (container — needs `docker`/`podman` — or native) |
510
+ | First local run (Part 1) | ~5 minutes | ~10 minutes |
511
+ | First GitHub run (Part 2) | + ~10 minutes | + ~10 minutes |
512
+ | Upgrades | `docker compose pull` + restart | `kici-admin orchestrator restart` after `npm install -g kici-admin@latest` |
513
+ | Best for | Quick evaluation, ephemeral hosts | Long-lived production hosts |
511
514
 
512
515
  If you're not sure, pick Docker / Podman.
513
516
 
@@ -5750,7 +5753,8 @@ kici login [options]
5750
5753
  | --------------------------- | ------- | ---------------------------------------------- |
5751
5754
  | `--token <key>` | none | API key for direct authentication (legacy) |
5752
5755
  | `--device` | false | Force device authorization flow (headless/SSH) |
5753
- | `--platform-endpoint <url>` | none | Platform API base URL |
5756
+ | `--platform-endpoint <url>` | none | Platform relay URL |
5757
+ | `--routing-key <key>` | none | Routing key for webhook source identification |
5754
5758
 
5755
5759
  **Environment variables:**
5756
5760
 
@@ -6039,11 +6043,10 @@ kici approve <run-id> [options]
6039
6043
 
6040
6044
  **Options:**
6041
6045
 
6042
- | Option | Default | Description |
6043
- | ----------------- | ------- | --------------------------------------------------- |
6044
- | `--job <name>` | none | Approve a held job (omit for a workflow-level hold) |
6045
- | `--step <name>` | none | Approve a held step (used with `--job`) |
6046
- | `--reason <text>` | none | Optional note recorded with the approval |
6046
+ | Option | Default | Description |
6047
+ | ---------------- | ------- | ---------------------------------------------------- |
6048
+ | `--job <name>` | none | Approve a held job (omit for a workflow-level hold) |
6049
+ | `--step <index>` | none | Approve a held step by its index (used with `--job`) |
6047
6050
 
6048
6051
  **Examples:**
6049
6052
 
@@ -6054,8 +6057,8 @@ kici approve abc123
6054
6057
  # Approve a held job
6055
6058
  kici approve abc123 --job deploy-production
6056
6059
 
6057
- # Approve a held step
6058
- kici approve abc123 --job migrate-and-deploy --step apply-migration
6060
+ # Approve a held step (steps are addressed by index)
6061
+ kici approve abc123 --job migrate-and-deploy --step 1
6059
6062
  ```
6060
6063
 
6061
6064
  You must be eligible for at least one unsatisfied clause (a member of a named team, or a named user) and hold the `environments:write` or `ci_trust:write` permission. The command reports whether the element was released, how many clauses remain, or that it was rejected.
@@ -6076,11 +6079,11 @@ kici reject <run-id> --reason <text> [options]
6076
6079
 
6077
6080
  **Options:**
6078
6081
 
6079
- | Option | Default | Description |
6080
- | ----------------- | ------- | -------------------------------------------------- |
6081
- | `--reason <text>` | none | Required. Reason recorded with the rejection |
6082
- | `--job <name>` | none | Reject a held job (omit for a workflow-level hold) |
6083
- | `--step <name>` | none | Reject a held step (used with `--job`) |
6082
+ | Option | Default | Description |
6083
+ | ----------------- | ------- | --------------------------------------------------- |
6084
+ | `--reason <text>` | none | Required. Reason recorded with the rejection |
6085
+ | `--job <name>` | none | Reject a held job (omit for a workflow-level hold) |
6086
+ | `--step <index>` | none | Reject a held step by its index (used with `--job`) |
6084
6087
 
6085
6088
  **Examples:**
6086
6089
 
@@ -6094,15 +6097,9 @@ kici reject abc123 --job deploy-production --reason "Wrong release branch"
6094
6097
  List secret contexts available for test runs. Shows context names and key names (not values).
6095
6098
 
6096
6099
  ```bash
6097
- kici secrets list [options]
6100
+ kici secrets list
6098
6101
  ```
6099
6102
 
6100
- **Options:**
6101
-
6102
- | Option | Default | Description |
6103
- | ------------------ | ------- | ------------------------- |
6104
- | `--endpoint <url>` | none | Orchestrator URL override |
6105
-
6106
6103
  Each "context" corresponds to an environment configured on the orchestrator. The output lists every environment whose `allowLocalExecution` flag is `true` (the gate that lets CLI-initiated test runs resolve secrets through that environment), along with the secret key names reachable from the environment's bound scopes.
6107
6104
 
6108
6105
  Only key names are shown — secret values are never returned over this endpoint.
@@ -6119,10 +6116,9 @@ kici types [options]
6119
6116
 
6120
6117
  **Options:**
6121
6118
 
6122
- | Option | Default | Description |
6123
- | ------------------- | ------- | ------------------------- |
6124
- | `--kici-dir <path>` | `.kici` | Path to .kici directory |
6125
- | `--endpoint <url>` | none | Orchestrator URL override |
6119
+ | Option | Default | Description |
6120
+ | ------------------- | ------- | ----------------------- |
6121
+ | `--kici-dir <path>` | `.kici` | Path to .kici directory |
6126
6122
 
6127
6123
  **Prerequisites:** Must be authenticated via `kici login`.
6128
6124
 
@@ -6136,9 +6132,6 @@ kici types
6136
6132
 
6137
6133
  # Use custom .kici directory
6138
6134
  kici types --kici-dir packages/app/.kici
6139
-
6140
- # Override orchestrator endpoint
6141
- kici types --endpoint https://my-orchestrator.example.com
6142
6135
  ```
6143
6136
 
6144
6137
  **How it works:**
@@ -9266,7 +9259,8 @@ Each row shows:
9266
9259
  attestation's signature, the build identity, and the build context against the
9267
9260
  trusted provenance issuer. **verified** (green) means all of those pass;
9268
9261
  **failed** (red) shows why in a tooltip; **unverifiable** means the provenance
9269
- issuer is not configured.
9262
+ issuer is not configured; **keys unavailable** (amber) means the issuer is
9263
+ configured but its verification keys could not be fetched.
9270
9264
  - **Job / Artifact / Digest / Created** — the producing job, the artifact name,
9271
9265
  its content digest, and when it was recorded.
9272
9266
  - **Download** — saves the signed bundle as a `.sigstore.json` file.
@@ -1,6 +1,6 @@
1
1
  import "../chunk-BTugEXQM.js";
2
2
  //#region src/templates/package-json.ts
3
- const sdkVersion = "0.1.18";
3
+ const sdkVersion = "0.1.20";
4
4
  /**
5
5
  * Generate package.json content for .kici/ directory
6
6
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kici-dev/compiler",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Compiler and CLI for KiCI workflows. Compiles `.kici/workflows/*.ts` to a `kici.lock.json` file consumed by the orchestrator and agents, and runs workflows locally or against a remote orchestrator.",
5
5
  "keywords": [
6
6
  "ci",
@@ -63,11 +63,11 @@
63
63
  "yaml": "^2.9.0",
64
64
  "zod": "^4.4.3",
65
65
  "zx": "^8.8.5",
66
- "@kici-dev/core": "0.1.18",
67
- "@kici-dev/engine": "0.1.18"
66
+ "@kici-dev/core": "0.1.20",
67
+ "@kici-dev/engine": "0.1.20"
68
68
  },
69
69
  "peerDependencies": {
70
- "@kici-dev/sdk": "0.1.18"
70
+ "@kici-dev/sdk": "0.1.20"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@types/proper-lockfile": "^4.1.4"
package/sbom.spdx.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "@kici-dev/compiler@0.1.18",
6
- "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fcompiler/0.1.18/c81ae2fd-a2fb-482c-99f7-a6fbbf7c4b39",
5
+ "name": "@kici-dev/compiler@0.1.20",
6
+ "documentNamespace": "https://kici.dev/sbom/%40kici-dev%2Fcompiler/0.1.20/dcfb0710-aa54-40ea-92e0-1c5c347cf9bf",
7
7
  "creationInfo": {
8
- "created": "2026-06-17T10:55:55Z",
8
+ "created": "2026-06-19T09:07:23Z",
9
9
  "creators": [
10
10
  "Tool: kici-sbom-generator"
11
11
  ]
@@ -484,7 +484,7 @@
484
484
  {
485
485
  "SPDXID": "SPDXRef-RootPackage",
486
486
  "name": "@kici-dev/compiler",
487
- "versionInfo": "0.1.18",
487
+ "versionInfo": "0.1.20",
488
488
  "downloadLocation": "NOASSERTION",
489
489
  "filesAnalyzed": false,
490
490
  "licenseConcluded": "NOASSERTION",
@@ -495,16 +495,16 @@
495
495
  {
496
496
  "referenceCategory": "PACKAGE-MANAGER",
497
497
  "referenceType": "purl",
498
- "referenceLocator": "pkg:npm/%40kici-dev/compiler@0.1.18"
498
+ "referenceLocator": "pkg:npm/%40kici-dev/compiler@0.1.20"
499
499
  }
500
500
  ],
501
501
  "description": "Compiler and CLI for KiCI workflows. Compiles `.kici/workflows/*.ts` to a `kici.lock.json` file consumed by the orchestrator and agents, and runs workflows locally or against a remote orchestrator.",
502
502
  "homepage": "https://kici.dev"
503
503
  },
504
504
  {
505
- "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.18",
505
+ "SPDXID": "SPDXRef-Package--kici-dev-core-0.1.20",
506
506
  "name": "@kici-dev/core",
507
- "versionInfo": "0.1.18",
507
+ "versionInfo": "0.1.20",
508
508
  "downloadLocation": "NOASSERTION",
509
509
  "filesAnalyzed": false,
510
510
  "licenseConcluded": "NOASSERTION",
@@ -515,16 +515,16 @@
515
515
  {
516
516
  "referenceCategory": "PACKAGE-MANAGER",
517
517
  "referenceType": "purl",
518
- "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.18"
518
+ "referenceLocator": "pkg:npm/%40kici-dev/core@0.1.20"
519
519
  }
520
520
  ],
521
521
  "description": "Light shared utilities for the KiCI stack (logging, errors, formatting, crypto, zx init, the TypeScript ESM loader hook). No server-side dependencies.",
522
522
  "homepage": "https://kici.dev"
523
523
  },
524
524
  {
525
- "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.18",
525
+ "SPDXID": "SPDXRef-Package--kici-dev-engine-0.1.20",
526
526
  "name": "@kici-dev/engine",
527
- "versionInfo": "0.1.18",
527
+ "versionInfo": "0.1.20",
528
528
  "downloadLocation": "NOASSERTION",
529
529
  "filesAnalyzed": false,
530
530
  "licenseConcluded": "NOASSERTION",
@@ -535,16 +535,16 @@
535
535
  {
536
536
  "referenceCategory": "PACKAGE-MANAGER",
537
537
  "referenceType": "purl",
538
- "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.18"
538
+ "referenceLocator": "pkg:npm/%40kici-dev/engine@0.1.20"
539
539
  }
540
540
  ],
541
541
  "description": "Shared business logic for the KiCI CI/CD stack: protocol, triggers, state machine, and provider interfaces used by the Platform relay, orchestrator, and compiler.",
542
542
  "homepage": "https://kici.dev"
543
543
  },
544
544
  {
545
- "SPDXID": "SPDXRef-Package--kici-dev-sdk-0.1.18",
545
+ "SPDXID": "SPDXRef-Package--kici-dev-sdk-0.1.20",
546
546
  "name": "@kici-dev/sdk",
547
- "versionInfo": "0.1.18",
547
+ "versionInfo": "0.1.20",
548
548
  "downloadLocation": "NOASSERTION",
549
549
  "filesAnalyzed": false,
550
550
  "licenseConcluded": "NOASSERTION",
@@ -555,7 +555,7 @@
555
555
  {
556
556
  "referenceCategory": "PACKAGE-MANAGER",
557
557
  "referenceType": "purl",
558
- "referenceLocator": "pkg:npm/%40kici-dev/sdk@0.1.18"
558
+ "referenceLocator": "pkg:npm/%40kici-dev/sdk@0.1.20"
559
559
  }
560
560
  ],
561
561
  "description": "TypeScript SDK for defining KiCI workflows. Import into `.kici/workflows/*.ts` to declare workflows, jobs, steps, triggers, rules, and matrix configurations.",
@@ -3222,17 +3222,17 @@
3222
3222
  },
3223
3223
  {
3224
3224
  "spdxElementId": "SPDXRef-RootPackage",
3225
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.18",
3225
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.20",
3226
3226
  "relationshipType": "DEPENDS_ON"
3227
3227
  },
3228
3228
  {
3229
3229
  "spdxElementId": "SPDXRef-RootPackage",
3230
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.18",
3230
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.20",
3231
3231
  "relationshipType": "DEPENDS_ON"
3232
3232
  },
3233
3233
  {
3234
3234
  "spdxElementId": "SPDXRef-RootPackage",
3235
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3235
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3236
3236
  "relationshipType": "DEPENDS_ON"
3237
3237
  },
3238
3238
  {
@@ -3301,82 +3301,82 @@
3301
3301
  "relationshipType": "DEPENDS_ON"
3302
3302
  },
3303
3303
  {
3304
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3304
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3305
3305
  "relatedSpdxElement": "SPDXRef-Package-oxc-transform-0.135.0",
3306
3306
  "relationshipType": "DEPENDS_ON"
3307
3307
  },
3308
3308
  {
3309
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3309
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3310
3310
  "relatedSpdxElement": "SPDXRef-Package-picocolors-1.1.1",
3311
3311
  "relationshipType": "DEPENDS_ON"
3312
3312
  },
3313
3313
  {
3314
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3314
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3315
3315
  "relatedSpdxElement": "SPDXRef-Package-winston-daily-rotate-file-5.0.0",
3316
3316
  "relationshipType": "DEPENDS_ON"
3317
3317
  },
3318
3318
  {
3319
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3319
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3320
3320
  "relatedSpdxElement": "SPDXRef-Package-winston-3.19.0",
3321
3321
  "relationshipType": "DEPENDS_ON"
3322
3322
  },
3323
3323
  {
3324
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3324
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3325
3325
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
3326
3326
  "relationshipType": "DEPENDS_ON"
3327
3327
  },
3328
3328
  {
3329
- "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.18",
3329
+ "spdxElementId": "SPDXRef-Package--kici-dev-core-0.1.20",
3330
3330
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
3331
3331
  "relationshipType": "DEPENDS_ON"
3332
3332
  },
3333
3333
  {
3334
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
3334
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
3335
3335
  "relatedSpdxElement": "SPDXRef-Package-jose-6.2.3",
3336
3336
  "relationshipType": "DEPENDS_ON"
3337
3337
  },
3338
3338
  {
3339
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
3339
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
3340
3340
  "relatedSpdxElement": "SPDXRef-Package-jsonpath-plus-10.4.0",
3341
3341
  "relationshipType": "DEPENDS_ON"
3342
3342
  },
3343
3343
  {
3344
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
3344
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
3345
3345
  "relatedSpdxElement": "SPDXRef-Package-picomatch-4.0.4",
3346
3346
  "relationshipType": "DEPENDS_ON"
3347
3347
  },
3348
3348
  {
3349
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
3349
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
3350
3350
  "relatedSpdxElement": "SPDXRef-Package-safe-regex-2.1.1",
3351
3351
  "relationshipType": "DEPENDS_ON"
3352
3352
  },
3353
3353
  {
3354
- "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.18",
3354
+ "spdxElementId": "SPDXRef-Package--kici-dev-engine-0.1.20",
3355
3355
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
3356
3356
  "relationshipType": "DEPENDS_ON"
3357
3357
  },
3358
3358
  {
3359
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3360
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.18",
3359
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3360
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-core-0.1.20",
3361
3361
  "relationshipType": "DEPENDS_ON"
3362
3362
  },
3363
3363
  {
3364
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3365
- "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.18",
3364
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3365
+ "relatedSpdxElement": "SPDXRef-Package--kici-dev-engine-0.1.20",
3366
3366
  "relationshipType": "DEPENDS_ON"
3367
3367
  },
3368
3368
  {
3369
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3369
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3370
3370
  "relatedSpdxElement": "SPDXRef-Package-micromatch-4.0.8",
3371
3371
  "relationshipType": "DEPENDS_ON"
3372
3372
  },
3373
3373
  {
3374
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3374
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3375
3375
  "relatedSpdxElement": "SPDXRef-Package-zod-4.4.3",
3376
3376
  "relationshipType": "DEPENDS_ON"
3377
3377
  },
3378
3378
  {
3379
- "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.18",
3379
+ "spdxElementId": "SPDXRef-Package--kici-dev-sdk-0.1.20",
3380
3380
  "relatedSpdxElement": "SPDXRef-Package-zx-8.8.5",
3381
3381
  "relationshipType": "DEPENDS_ON"
3382
3382
  },