@knowttl/artium-axi 0.0.0 → 0.0.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 CHANGED
@@ -20,7 +20,7 @@ See the [evidence ledger](docs/evidence-ledger.md) for the acceptance boundaries
20
20
  ## Agent Ergonomics
21
21
 
22
22
  - Running without arguments shows identity, roles, available tools, cached health and pinned versions.
23
- - Tool lists use a compact `name`, `status`, `version` schema and suggest a detail view and first call.
23
+ - Tool lists show cached health, pinned versions and write-access status and suggest a detail view and first call.
24
24
  - Empty lists explain why no enabled tool is available and direct you to an administrator.
25
25
  - Local help works before sign-in and includes usage, purpose, flags and an example.
26
26
  - Artium errors use TOON on stdout; upstream calls preserve separate stdout, stderr and exit status.
@@ -369,6 +369,7 @@ After signing in, run `node dist/cli/artium-axi.mjs setup --host codex` to insta
369
369
  The root package remains private for server development; `pnpm build:npm` stages the separate public client package in `dist/npm` using the root package version.
370
370
  Run `npm pack --dry-run ./dist/npm` to inspect the client tarball before release.
371
371
  Only the bundled CLI, skill, README, LICENSE, NOTICE and client package metadata are included.
372
+ See [npm client releases](docs/runbook.md#npm-client-releases) for automated publishing and owner setup.
372
373
 
373
374
  ## Usage
374
375
 
@@ -377,6 +378,7 @@ Only the bundled CLI, skill, README, LICENSE, NOTICE and client package metadata
377
378
  | Command | Purpose |
378
379
  | --- | --- |
379
380
  | `artium-axi` | Show identity, roles and available tools. |
381
+ | `artium-axi --version` | Print only the client package version and a newline, then exit without configuration, sign-in or network access. |
380
382
  | `artium-axi login --username synthetic-user` | Sign in with a local account. |
381
383
  | `artium-axi login --sso` | Sign in through browser approval with an enabled SSO provider; works on headless and SSH hosts. |
382
384
  | `artium-axi passwd` | Change your password, then sign in again. |
@@ -411,9 +413,8 @@ Other Azure commands, including the dashboard and `home`, leave stdin unread; he
411
413
  Local upload paths become leaf names in the request; duplicate leaf names and oversized input are refused.
412
414
  The API supports bounded stdin and named uploads through the [shared API contract](src/shared/api.ts).
413
415
 
414
- Write permission remains subject to the pinned tool's native gates and the configured adapter policy.
415
- Vectra writes require its configured allowlist and upstream confirmation; Artium does not add a universal confirmation flag.
416
- Falcon has no editable native write settings.
416
+ See [write-access administration](docs/runbook.md#roles-credentials-and-health) for per-tool switches, native write gates and the current Falcon limitation.
417
+ Artium does not add a universal confirmation flag.
417
418
 
418
419
  Azure writes whose outcome is unknown are not retried and return `UNKNOWN_OUTCOME` with state-check guidance; reads may still retry.
419
420
  Artium also returns this error when its runner times out, cancels or receives a process signal after starting an executed Azure write; read timeouts remain `TIMEOUT`.
@@ -20048,7 +20048,7 @@ var nativeSettingsSchemas = {
20048
20048
  allowWrites: external_exports.boolean(),
20049
20049
  operations: external_exports.array(external_exports.string().min(1).max(256)).min(1).max(64)
20050
20050
  }).optional() }),
20051
- "falcon-axi": external_exports.strictObject({}),
20051
+ "falcon-axi": external_exports.strictObject({ allowWrites: external_exports.boolean().optional() }),
20052
20052
  "vectra-axi": external_exports.strictObject({ writes: external_exports.strictObject({
20053
20053
  allowWrites: external_exports.boolean(),
20054
20054
  operations: external_exports.array(external_exports.string().min(1).refine((value) => value.trim().length > 0)).min(1)
@@ -20063,6 +20063,7 @@ var nativeSettingsSchemas = {
20063
20063
  };
20064
20064
  var healthSchema = external_exports.strictObject({
20065
20065
  status: external_exports.enum(["unconfigured", "unknown", "ok", "error", "disabled"]),
20066
+ readOnly: external_exports.boolean().default(true),
20066
20067
  checkedAt: external_exports.number().int().nullable(),
20067
20068
  credentialRevision: external_exports.number().int().nullable(),
20068
20069
  errorCode: external_exports.enum(Object.keys(errors)).nullable()
@@ -20071,6 +20072,7 @@ var adminToolSchema = external_exports.strictObject({
20071
20072
  name: toolSchema,
20072
20073
  enabled: external_exports.boolean(),
20073
20074
  version: external_exports.string(),
20075
+ readOnly: external_exports.boolean().default(true),
20074
20076
  nativeSettings: external_exports.record(external_exports.string(), external_exports.unknown()),
20075
20077
  revision: external_exports.number().int().positive(),
20076
20078
  updatedAt: external_exports.number().int().nullable(),
@@ -20394,6 +20396,7 @@ var toolsResponseSchema = external_exports.strictObject({
20394
20396
  tools: external_exports.array(external_exports.strictObject({
20395
20397
  name: toolSchema,
20396
20398
  version: external_exports.string(),
20399
+ readOnly: external_exports.boolean().default(true),
20397
20400
  status: external_exports.enum(["unconfigured", "unknown", "ok", "error", "disabled"])
20398
20401
  }))
20399
20402
  });
@@ -20449,7 +20452,7 @@ import { rootCertificates } from "node:tls";
20449
20452
  // package.json
20450
20453
  var package_default = {
20451
20454
  name: "artium-axi",
20452
- version: "0.0.0",
20455
+ version: "0.0.2",
20453
20456
  private: true,
20454
20457
  license: "MIT",
20455
20458
  type: "module",
@@ -22830,7 +22833,7 @@ var ldap_axi_default = {
22830
22833
 
22831
22834
  // src/cli/help.ts
22832
22835
  var commands = {
22833
- home: { usage: "artium-axi [tools [show <tool>]|whoami|login|passwd|logout|doctor|setup|<tool> <args>]", purpose: "Show your identity, roles and available tools.", flags: [], example: "artium-axi" },
22836
+ home: { usage: "artium-axi [tools [show <tool>]|whoami|login|passwd|logout|doctor|setup|<tool> <args>]", purpose: "Show your identity, roles and available tools.", flags: ["--version (default false; print the client package version and exit)"], example: "artium-axi" },
22834
22837
  setup: {
22835
22838
  usage: "artium-axi setup --host <claude|codex|opencode|pi> [--hook] [--force]",
22836
22839
  purpose: "Install skills for your signed-in account\u2019s granted tools and an optional Claude Code session hook.",
@@ -33958,8 +33961,8 @@ accessExpiresAt: ${user.accessExpiresAt}
33958
33961
  }
33959
33962
  function toolsView(tools) {
33960
33963
  if (!tools.length) return "tools: 0 available\nreason: No enabled runtime tool is available through your assigned roles.\ncontact: Ask an administrator to check your role assignments and enabled tools.\nnext[1]:\n - artium-axi whoami\n";
33961
- return `tools[${tools.length}]{name,status,version}:
33962
- ${tools.map((tool) => ` ${tool.name},${tool.status},${JSON.stringify(tool.version)}`).join("\n")}
33964
+ return `tools[${tools.length}]{name,status,version,readOnly}:
33965
+ ${tools.map((tool) => ` ${tool.name},${tool.status},${JSON.stringify(tool.version)},${tool.readOnly ?? true}`).join("\n")}
33963
33966
  next[2]:
33964
33967
  - artium-axi tools show ${tools[0].name}
33965
33968
  - artium-axi ${tools[0].name} ${toolManifests[tools[0].name].discovery.example.join(" ")}
@@ -33973,6 +33976,7 @@ function toolView(tool) {
33973
33976
  return `tool: ${tool.name}
33974
33977
  version: ${JSON.stringify(tool.version)}
33975
33978
  status: ${tool.status}
33979
+ readOnly: ${tool.readOnly ?? true}
33976
33980
  commands[${commands2.length}]: ${commands2.join(",")}
33977
33981
  example: artium-axi ${tool.name} ${manifest.discovery.example.join(" ")}
33978
33982
  upstreamHelp: ${JSON.stringify(help)}
@@ -34226,6 +34230,11 @@ next: artium-axi tools
34226
34230
 
34227
34231
  // src/cli/main.ts
34228
34232
  async function main(args) {
34233
+ if (args.length === 1 && args[0] === "--version") {
34234
+ process.stdout.write(`${cliVersion}
34235
+ `);
34236
+ return;
34237
+ }
34229
34238
  const prefixHelp = args[0] === "--help";
34230
34239
  if (prefixHelp) args = args.slice(1);
34231
34240
  const command = args[0];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knowttl/artium-axi",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "description": "Client CLI and embedded skill for the Artium managed tools server.",
5
5
  "license": "MIT",
6
6
  "type": "module",