open-index/open-npm huggingface dataset:
npm package: @nextera.one/axis-cli
Description: AXIS Protocol CLI
Author: NextEra.One
Latest version: 1.1.3

# AXIS CLI

The official Command Line Interface for the AXIS Protocol. Issued by **NextEra.One**.

## Features

- **Intent Execution**: Send intents to AXIS nodes with Ed25519 signatures.
- **Identity Management**: Issue node certificates and manage actor identities.
- **Stream Support**: Pulse data streams over the AXIS protocol.
- **File Operations**: Verifiable file uploads and downloads.
- **Network Discovery**: Inspect node health and protocol specs.

## Installation

```bash
# Clone the repository
git clone https://github.com/nextera-one/axis-cli.git
cd axis-cli

# Install dependencies
npm install

# Build the project
npm run build
```

## Usage

```bash
# General help
axis --help

# Send a ping intent
axis send public.ping '{"hello": "world"}'

# Issue a new node identity
axis issue-node-cert --out ./certs

# Stream sensor data
axis stream sensors.temp

# NestFlow device management
axis device list --endpoint http://localhost:7777 --actor 00000000000000000000000000000001
axis device promote dev_web_abc123 --label "My Laptop"
axis device rename dev_web_abc123 "Work Chrome"
axis device revoke dev_web_abc123 --reason "lost device"

# NestFlow session management
axis session refresh --reason "keepalive"
axis session logout --reason "manual"

# NestFlow backend QR flow
axis qr challenge --origin https://app.example.com
axis qr browser-proof chlg_123 nonce_123 --key <browser_seed_hex>
axis qr attach-key chlg_123 --browser-public-key <spki_b64url> --proof-signature <sig_b64url> --trust-device
axis qr approve chlg_123 -a actor_123 -k <mobile_seed_hex> --mobile-device-uid dev_mobile_01 --browser-public-key <spki_b64url> --nonce nonce_123 --tickauth-challenge-uid tick_123 --expires-at 1760000000000 --scope axis.auth.*,axis.files.*
axis qr verify chlg_123 --browser-public-key <spki_b64url>
axis qr reject chlg_123 -a actor_123
```

## Configuration

| Environment Variable | Description      | Default                 |
| -------------------- | ---------------- | ----------------------- |
| `AXIS_ENDPOINT`      | AXIS Node URL    | `http://localhost:3000` |
| `AXIS_ACTOR_ID`      | Default Actor ID | `actor:cli`             |
| `AXIS_KEY`           | Private key hex  | -                       |

## Architecture

The CLI uses the `@nextera.one/axis-client-sdk` for binary frame construction and transport logic. It is designed for high-performance terminal interactions with AXIS-compliant infrastructure.

## License

Apache-2.0 © NextEra.One
npm package: @nextera.one/axis-server-sdk
Description: Axis Protocol server-side SDK — decorators, interfaces, and routing primitives for building Axis handlers
Author: NextEra.One
Latest version: 2.0.0

# @nextera.one/axis-server-sdk

Server-side SDK for the AXIS protocol.

This package contains the Nest-friendly server runtime pieces plus the shared AXIS binary protocol utilities used by both client and server implementations.

## Installation

```bash
npm install @nextera.one/axis-server-sdk
```

Peer dependencies:

- `@nestjs/common`
- `@nestjs/config`
- `reflect-metadata`

## Release Surface

The `1.3.0` release folds the backend server runtime namespaces that previously lived in temporary internal package shells into this published package.

Added grouped runtime namespaces:

- `core`
- `crypto`
- `decorators`
- `engine`
- `loom`
- `schemas`
- `security`
- `sensors`
- `utils`

It also exposes the `axis-generate-keys` CLI through the package `bin` entry for local key generation workflows.

## What It Exposes

Root exports are split into two groups:

- Server runtime helpers: `@Handler`, `@Intent`, `IntentRouter`, handler interfaces, sensor interfaces.
- Shared protocol primitives: binary frame codecs, TLV/varint/constants, binary signature helpers, codec utilities, packet types.

You can also import the grouped namespaces directly from the package root:

```ts
import { core, crypto, engine, sensors } from '@nextera.one/axis-server-sdk';
```

## Shared Core API

The canonical cross-SDK protocol layer is the `./core` subpath:

```ts
import {
  AXIS_MAGIC,
  TLV_AUD,
  TLV_REALM,
  AxisBinaryFrame,
  encodeFrame,
  decodeFrame,
  getSignTarget,
  signFrame,
  verifyFrameSignature,
} from '@nextera.one/axis-server-sdk/core';
```

Notes:

- `TLV_AUD` is the canonical name for tag `8`.
- `TLV_REALM` remains available as a compatibility alias.
- `AxisBinaryFrame` is the explicit low-level binary frame type.
- The server `./core` surface is additive, but shared protocol constants and wire-format helpers are kept aligned with the client SDK.
- `AxisFrameZ` is available from the server package as a server-side validation helper, not as part of the shared minimum core contract.

## Decorator Example

```ts
import {
  Handler,
  Intent,
  IntentRouter,
  AxisEffect,
} from '@nextera.one/axis-server-sdk';
import type { AxisBinaryFrame } from '@nextera.one/axis-server-sdk/core';

@Handler('system')
export class SystemHandler {
  constructor(private readonly router: IntentRouter) {}

  onModuleInit() {
    this.router.registerHandler(this);
  }

  @Intent('ping', { frame: true })
  async ping(frame: AxisBinaryFrame): Promise<AxisEffect> {
    return {
      ok: true,
      effect: 'PONG',
      body: frame.body,
    };
  }
}
```

## Versioning

The server SDK may include additional server-only exports beyond the shared `./core` surface. For code intended to work across both client and server SDKs, prefer importing protocol primitives from `./core`.
npm package: @nextera.one/lim-core
Description: TypeScript execution kernel for the Lawful Intent Model (LIM)
Author: NextEra.One
Latest version: 0.1.0

# @nextera.one/lim-core

`@nextera.one/lim-core` is the TypeScript execution kernel for the Lawful Intent Model.
It validates intent, enforces law, executes deterministically, and produces proof.

## Install

```bash
npm i @nextera.one/lim-core
```

## Minimal Usage

```ts
import {
  createIntent,
  createLIM,
  LocalExecutionEngine,
  SequentialLawEngine,
  InMemoryLawResolver,
  BasicIdentityValidator,
  BasicTemporalValidator,
  BasicStructuralValidator,
  BasicProofBuilder,
  type LIMSignedIntent,
  type LIMLaw,
} from '@nextera.one/lim-core';

const laws: LIMLaw[] = [];

const lim = createLIM()
  .useStructuralValidator(new BasicStructuralValidator())
  .useIdentityValidator(new BasicIdentityValidator())
  .useTemporalValidator(new BasicTemporalValidator())
  .useLawResolver(new InMemoryLawResolver(laws))
  .useLawEngine(new SequentialLawEngine())
  .useExecutionEngine(new LocalExecutionEngine())
  .useProofBuilder(new BasicProofBuilder())
  .build();

const rawIntent = createIntent<{ amount: number }>()
  .type('payment.transfer')
  .actor({ anchorId: 'anch_01HXYZ' })
  .payload({ amount: 100 })
  .build();

const signedIntent: LIMSignedIntent = {
  intent: rawIntent,
  signature: {
    scheme: 'softid.ed25519',
    value: 'sig_abc123',
  },
};

const result = await lim.execute(signedIntent, { mode: 'strict' });
```