@odatano/nightgate-mcp 0.17.1 → 0.18.1

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/CHANGELOG.md CHANGED
@@ -7,6 +7,76 @@ The README says which NIGHTGATE the current version needs.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.18.1] - 2026-10-26
11
+
12
+ Needs NIGHTGATE 0.36.0.
13
+
14
+ ### Fixed
15
+
16
+ - **Writes from a fresh install.** `@odatano/nightgate-tx` ^0.15.1 installs one
17
+ copy of `@midnight-ntwrk/onchain-runtime-v3`. Two copies failed every write
18
+ after proving with `expected instance of StateValue`.
19
+
20
+ ### Documentation
21
+
22
+ - `docs/tools.md`: how a client keeps a write open, and that the MCP Inspector
23
+ CLI stops it after 60 seconds.
24
+ - README and `docs/tools.md`: servers on one machine share one seed file and
25
+ so one identity unless each sets its own seed.
26
+
27
+ ## [0.18.0] - 2026-10-26
28
+
29
+ Needs NIGHTGATE 0.36.0; from 0.37.0 the server holds each status read until the job settles.
30
+
31
+ ### Changed
32
+
33
+ - **No tool takes a server wallet session.** Every write is built, proven and
34
+ signed here with the caller seed, and a sponsor pays the fee.
35
+ - **Writes wait for their job.** `anchor_document`, `submit_vault_call`,
36
+ `sponsor_unbound_transaction`, `sponsor_finalized_transaction`,
37
+ `sponsor_swap`, `take_swap_offer` (`submit: true`) and `mint_token` return
38
+ `status`, `txHash`, `transactionHash`, `result`, on failure `next`, and
39
+ `check`, the free call that shows the effect on-chain. They send MCP progress
40
+ every 5 seconds. A job still open after 5 minutes, or one whose status cannot
41
+ be read, comes back as `pending` with its `jobId` and `txHash`.
42
+ - **A repeated call picks up its job.** The same write with the same arguments,
43
+ after a client timeout or a `pending`, waits for the job it started instead
44
+ of submitting again. A failed job is built anew.
45
+ - **`anchor_document(sha256, metadata?, contentRoot?, schemaId?)`** builds the
46
+ attest call here; with a content root it anchors that too.
47
+ - **`contractAddress` is optional** on the vault tools: default the shared
48
+ sandbox vault of the network (preprod `ca0b1e3c…`, preview `31df87bc…`); a
49
+ 16-slot `attestation-vault` needs its address.
50
+ - **Seed file.** Without `NIGHTGATE_SEED_HEX` the seed is read from
51
+ `NIGHTGATE_SEED_FILE` (default `~/.nightgate-mcp/seed`) and created there on
52
+ first use; that answer carries `seed: { created, file, meaning }`.
53
+ - **Free state reads.** `verify_attestation` and `verify_predicate` read the
54
+ public verify service (`/odata/v4/midnight-verify`) without credentials,
55
+ unless basic auth or an `ngat_` grant of a direct instance is set.
56
+ `NIGHTGATE_VERIFY_SERVICE_PATH` overrides it.
57
+ - **`get_usage`** replaces `get_grant_usage`. With a gateway key it reads
58
+ `GET /me`: units left, validity, usage and the cost of the last calls.
59
+ - `@odatano/nightgate-tx` is a dependency, no longer an optional peer.
60
+ - `verify_attestation` describes `bindingRegistered`.
61
+
62
+ ### Added
63
+
64
+ - `submit_vault_call(call, params, merkleProof?, docPair?)`: any vault call in
65
+ one go, with the calls and params of `build_sponsorable_transaction`.
66
+
67
+ ### Removed
68
+
69
+ - `get_job_status`.
70
+ - The tools that needed a server wallet session: `attest_agent_output`,
71
+ `prove_field_predicate`, `prove_field_equality`, `prove_field_membership`,
72
+ `prove_field_predicates_batch`, `prove_document_integrity`,
73
+ `prove_document_diff`, `grant_disclosure`, `revoke_disclosure`,
74
+ `verify_document`, `verify_predicate_attestation`. The claims and the
75
+ disclosure calls run through `submit_vault_call`.
76
+ - `sessionId` on `mint_token`.
77
+ - `grant_disclosure_to_holders`, `revoke_holder_disclosure`,
78
+ `claim_disclosure`, `holder_claim_key`.
79
+
10
80
  ## [0.17.1] - 2026-10-25
11
81
 
12
82
  Needs NIGHTGATE 0.36.0; `get_job_status` waits on the server from 0.37.0.
package/README.md CHANGED
@@ -13,10 +13,10 @@
13
13
  [![License](https://img.shields.io/badge/license-Apache--2.0-yellow)](LICENSE)
14
14
 
15
15
  MCP server for [NIGHTGATE](https://github.com/ODATANO/NIGHTGATE) on Midnight.
16
- Anchors documents, proves zero-knowledge claims over hidden fields, grants and
17
- verifies disclosure against live contract state; swaps shielded tokens over an
18
- offer board and mints them on a token factory. Transactions are sponsored, the
19
- agent holds no NIGHT. The chain is read through the
16
+ Anchors documents, proves zero-knowledge claims over hidden fields, grants
17
+ disclosure, and verifies records and claims against live contract state;
18
+ swaps shielded tokens over an offer board and mints them on a token factory.
19
+ Transactions are sponsored, the agent holds no NIGHT. The chain is read through the
20
20
  [ODATANO API](https://api.odatano.dev): no indexer, no node.
21
21
 
22
22
  ## Quick start
@@ -41,17 +41,26 @@ Claude Code: `claude mcp add nightgate --env ODATANO_ACCESS_KEY=oda_... -- npx -
41
41
  The hosted gateway is the default (Midnight preprod). The same key works for
42
42
  `@odatano/core-mcp` (Cardano). Node.js >= 20.
43
43
 
44
+ That is all the setup. `anchor_document` with the sha256 of a document anchors
45
+ it in the shared sandbox vault and answers once it landed, with the free
46
+ `verify_attestation` call that shows it on-chain. The first write creates your
47
+ seed in `~/.nightgate-mcp/seed` and says so; keep that file, it is your
48
+ identity on Midnight. Servers on one machine share it unless each sets its
49
+ own `NIGHTGATE_SEED_HEX`. `get_usage` shows the units left on the key.
50
+
44
51
  ## Tools
45
52
 
46
- [docs/tools.md](docs/tools.md) lists every tool and the two flows: fee
47
- sponsoring (build and prove here, a sponsor pays) and shielded swaps (two
48
- halves, one sponsor). Errors carry the server's HTTP status and `code`.
53
+ [docs/tools.md](docs/tools.md) lists every tool, what a write returns, the
54
+ sandbox vaults, the seed, field claims and shielded swaps. Every write is
55
+ built and proven here, a sponsor pays, and the tool waits for the result.
56
+ Errors carry the server's HTTP status and `code`.
49
57
 
50
58
  ## Configuration
51
59
 
52
60
  [docs/configuration.md](docs/configuration.md): every variable, an own
53
61
  NIGHTGATE instance, version requirements. Needs NIGHTGATE >= 0.36.0; from 0.37.0,
54
- which the hosted gateway runs, `get_job_status` waits on the server.
62
+ which the hosted gateway runs, the server holds each status read until the job
63
+ settles.
55
64
 
56
65
  ## Development
57
66
 
package/dist/builder.js CHANGED
@@ -1,20 +1,11 @@
1
- /**
2
- * Local transaction building (caller half of cross-server fee sponsoring).
3
- *
4
- * Wraps the `@odatano/nightgate-tx` txbuilder: build, prove (in-process wasm
5
- * or a proof server) and sign an AttestationVault call on THIS machine with
6
- * the seed from `NIGHTGATE_SEED_HEX`, so the key and the attestation secret
7
- * never travel; the result is the fee-unpaid transaction the sponsor tools
8
- * submit. Contract state comes from the NIGHTGATE API unless an indexer is
9
- * configured. The package is an OPTIONAL peer dependency (it carries the
10
- * Midnight SDK): the tool is always registered and reports how to install it
11
- * when it is missing.
12
- */
1
+ // Builds, proves and signs a vault call here with the caller seed, via the @odatano/nightgate-tx txbuilder.
2
+ // The seed and the attestation secret never travel; the sponsor tools submit the fee-unpaid result.
13
3
  import { join } from 'node:path';
14
4
  import { tmpdir } from 'node:os';
15
5
  import { builderChainOptions } from './config.js';
16
6
  import { txExport } from './tx-module.js';
17
7
  import { holdBuilt, writeTxFile } from './built.js';
8
+ import { ensureSeed } from './seed.js';
18
9
  /**
19
10
  * Call kinds this tool can prepare; one per attestation-vault helper.
20
11
  *
@@ -86,9 +77,7 @@ async function loadModules(ref = DEFAULT_ARTIFACT) {
86
77
  * directories, so they cannot share an instance.
87
78
  */
88
79
  async function getBuilder(config, ref = DEFAULT_ARTIFACT) {
89
- if (!config.seedHex) {
90
- throw new Error('local building needs NIGHTGATE_SEED_HEX (128 hex characters, a 64-byte BIP39 seed) in the MCP server environment; it is never a tool argument');
91
- }
80
+ await ensureSeed(config);
92
81
  let entry = builders.get(ref);
93
82
  if (!entry) {
94
83
  entry = (async () => {
@@ -240,14 +229,13 @@ export async function buildSponsorable(config, input) {
240
229
  const identities = new Map();
241
230
  /** The public identity of the seed, a pure derivation: no builder, no indexer, no zk assets. */
242
231
  export async function seedIdentity(config) {
243
- if (!config.seedHex)
244
- throw new Error('NIGHTGATE_SEED_HEX (128 hex characters, a 64-byte BIP39 seed) is not set in the MCP server environment');
245
- const key = `${config.network}:${config.seedHex.toLowerCase()}`;
232
+ const seedHex = await ensureSeed(config);
233
+ const key = `${config.network}:${seedHex.toLowerCase()}`;
246
234
  let entry = identities.get(key);
247
235
  if (!entry) {
248
236
  entry = (async () => {
249
237
  const deriveIdentity = await txExport('deriveIdentity', 'identity derivation', '0.8.0');
250
- const id = await deriveIdentity({ seedHex: config.seedHex, networkId: config.network });
238
+ const id = await deriveIdentity({ seedHex, networkId: config.network });
251
239
  return {
252
240
  attesterId: String(id.attesterId),
253
241
  shieldedAddress: String(id.addresses?.shielded ?? ''),
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare class NightgateApiError extends Error {
11
11
  }
12
12
  /**
13
13
  * Two error shapes reach the client: CAP's `{ error: { code, message } }`
14
- * from NIGHTGATE itself, and the ODATANO ACCESS gateway's `{ error: "<text>",
14
+ * from NIGHTGATE itself, and the ODATANO gateway's `{ error: "<text>",
15
15
  * ...detail }` (401 key problems, 402 units exhausted with a top-up hint,
16
16
  * 403 closed action or product not on the key, 429 with Retry-After).
17
17
  */
@@ -51,6 +51,10 @@ export declare class NightgateClient {
51
51
  constructor(config: NightgateMcpConfig);
52
52
  /** GET <service>/<name>(p1=...,p2=...) with only the provided parameters. */
53
53
  callFunction(name: string, params: Record<string, FunctionParam>): Promise<unknown>;
54
+ /** GET <verify service>/<name>(...): the state reads. The public verify service gets no credentials and costs nothing. */
55
+ callVerifyFunction(name: string, params: Record<string, FunctionParam>): Promise<unknown>;
56
+ /** GET <base>/me: units, validity and usage of a gateway key. */
57
+ gatewayMe(): Promise<unknown>;
54
58
  /** GET <indexer service>/<name>(...): the read-only status functions, anonymous on the server. */
55
59
  callIndexerFunction(name: string, params?: Record<string, FunctionParam>): Promise<unknown>;
56
60
  /** POST <service>/<name> with the provided parameters as JSON body. */
package/dist/client.js CHANGED
@@ -15,7 +15,7 @@ export class NightgateApiError extends Error {
15
15
  }
16
16
  /**
17
17
  * Two error shapes reach the client: CAP's `{ error: { code, message } }`
18
- * from NIGHTGATE itself, and the ODATANO ACCESS gateway's `{ error: "<text>",
18
+ * from NIGHTGATE itself, and the ODATANO gateway's `{ error: "<text>",
19
19
  * ...detail }` (401 key problems, 402 units exhausted with a top-up hint,
20
20
  * 403 closed action or product not on the key, 429 with Retry-After).
21
21
  */
@@ -76,6 +76,15 @@ export class NightgateClient {
76
76
  async callFunction(name, params) {
77
77
  return this.request('GET', `${this.config.baseUrl}${this.config.servicePath}/${functionCall(name, params)}`);
78
78
  }
79
+ /** GET <verify service>/<name>(...): the state reads. The public verify service gets no credentials and costs nothing. */
80
+ async callVerifyFunction(name, params) {
81
+ const path = this.config.verifyServicePath;
82
+ return this.request('GET', `${this.config.baseUrl}${path}/${functionCall(name, params)}`, undefined, path !== this.config.servicePath);
83
+ }
84
+ /** GET <base>/me: units, validity and usage of a gateway key. */
85
+ async gatewayMe() {
86
+ return this.request('GET', `${this.config.baseUrl}/me`);
87
+ }
79
88
  /** GET <indexer service>/<name>(...): the read-only status functions, anonymous on the server. */
80
89
  async callIndexerFunction(name, params = {}) {
81
90
  return this.request('GET', `${this.config.baseUrl}${this.config.indexerServicePath}/${functionCall(name, params)}`);
@@ -145,8 +154,8 @@ export class NightgateClient {
145
154
  }
146
155
  return headers;
147
156
  }
148
- async request(method, url, body) {
149
- const headers = this.authHeaders();
157
+ async request(method, url, body, anonymous = false) {
158
+ const headers = anonymous ? { Accept: 'application/json' } : this.authHeaders();
150
159
  if (body !== undefined)
151
160
  headers['Content-Type'] = 'application/json';
152
161
  const response = await fetch(url, {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -6,21 +6,17 @@
6
6
  * by pointing ODATANO_ACCESS_URL at it.
7
7
  */
8
8
  export interface NightgateMcpConfig {
9
- /** Base URL: the ODATANO ACCESS gateway (default https://api.preprod.odatano.dev) or a direct NIGHTGATE host app. */
9
+ /** Base URL: the ODATANO gateway (default https://api.preprod.odatano.dev) or a direct NIGHTGATE host app. */
10
10
  baseUrl: string;
11
- /**
12
- * ODATANO_ACCESS_KEY. The usual value is an ODATANO ACCESS key (`oda_...`),
13
- * sent as `Authorization: Bearer`; the gateway swaps in the agent grant.
14
- * Against a direct NIGHTGATE instance an `ngat_...` agent-grant token goes
15
- * as `x-agent-token` (optionally alongside basic transport auth); anything
16
- * else is a plain bearer.
17
- */
11
+ /** ODATANO_ACCESS_KEY: a gateway key (`oda_...`) sent as bearer, or an `ngat_...` agent grant sent as `x-agent-token`. */
18
12
  token?: string;
19
13
  /** ODATANO_ACCESS_USER / _PASSWORD: basic auth for a direct instance (CAP dev/mocked auth); never for agents. */
20
14
  username?: string;
21
15
  password?: string;
22
16
  /** OData service path of the main Nightgate service. */
23
17
  servicePath: string;
18
+ /** Service path of the state reads; the public verify service unless credentials of a direct instance are set. */
19
+ verifyServicePath: string;
24
20
  /** OData service path of the indexer service (the anonymous status reads). */
25
21
  indexerServicePath: string;
26
22
  /**
@@ -33,6 +29,8 @@ export interface NightgateMcpConfig {
33
29
  timeoutMs: number;
34
30
  /** Caller seed (128 hex, a 64-byte BIP39 seed) for local building and swaps; never a tool argument. */
35
31
  seedHex?: string;
32
+ /** Where the seed is kept when NIGHTGATE_SEED_HEX is unset; default ~/.nightgate-mcp/seed. */
33
+ seedFile?: string;
36
34
  /** Midnight network the builder targets; default preprod. */
37
35
  network: string;
38
36
  /** A Midnight indexer and node for the builders to read the chain from. Without them the NIGHTGATE API is read. */
@@ -55,3 +53,9 @@ export declare function loadConfig(env?: NodeJS.ProcessEnv): NightgateMcpConfig;
55
53
  export declare function apiConnectOptions(config: NightgateMcpConfig): Record<string, unknown>;
56
54
  /** Where a local builder reads contract state: the configured indexer and node, else the NIGHTGATE API. */
57
55
  export declare function builderChainOptions(config: NightgateMcpConfig): Record<string, unknown>;
56
+ /** The shared sandbox vaults of the hosted gateway, one per testnet (attestation-vault-32). */
57
+ export declare const SANDBOX_VAULTS: Readonly<Record<string, string>>;
58
+ /** The vault a call targets: the given address, else the sandbox vault of the network. */
59
+ export declare function vaultOf(config: NightgateMcpConfig, contractAddress?: string, compiledArtifactRef?: string): string;
60
+ /** True for a key of the hosted gateway, which reports its units on GET /me. */
61
+ export declare function isGatewayKey(config: NightgateMcpConfig): boolean;
package/dist/config.js CHANGED
@@ -17,16 +17,22 @@ export function loadConfig(env = process.env) {
17
17
  throw new Error(`Invalid NIGHTGATE_SWAP_MAX_INPUTS: ${env.NIGHTGATE_SWAP_MAX_INPUTS} (a positive integer)`);
18
18
  }
19
19
  const analyticsUrl = (env.ODATANO_ANALYTICS_URL || `${baseUrl}/odata/v4/analytics`).replace(/\/+$/, '');
20
+ const token = env.ODATANO_ACCESS_KEY || undefined;
21
+ const username = env.ODATANO_ACCESS_USER || undefined;
22
+ const servicePath = env.NIGHTGATE_SERVICE_PATH ?? '/odata/v4/midnight';
23
+ const direct = !!username || !!token?.startsWith('ngat_');
20
24
  return {
21
25
  baseUrl,
22
- token: env.ODATANO_ACCESS_KEY || undefined,
23
- username: env.ODATANO_ACCESS_USER || undefined,
26
+ token,
27
+ username,
24
28
  password: env.ODATANO_ACCESS_PASSWORD || undefined,
25
- servicePath: env.NIGHTGATE_SERVICE_PATH ?? '/odata/v4/midnight',
29
+ servicePath,
30
+ verifyServicePath: env.NIGHTGATE_VERIFY_SERVICE_PATH ?? (direct ? servicePath : '/odata/v4/midnight-verify'),
26
31
  indexerServicePath: env.NIGHTGATE_INDEXER_SERVICE_PATH ?? '/odata/v4/midnight-indexer',
27
32
  analyticsUrl,
28
33
  timeoutMs,
29
34
  seedHex,
35
+ seedFile: env.NIGHTGATE_SEED_FILE || undefined,
30
36
  network,
31
37
  indexerHttpUrl: env.NIGHTGATE_INDEXER_HTTP_URL || undefined,
32
38
  indexerWsUrl: env.NIGHTGATE_INDEXER_WS_URL || undefined,
@@ -62,4 +68,25 @@ export function builderChainOptions(config) {
62
68
  }
63
69
  return { api: apiConnectOptions(config), walletSync: false };
64
70
  }
71
+ /** The shared sandbox vaults of the hosted gateway, one per testnet (attestation-vault-32). */
72
+ export const SANDBOX_VAULTS = {
73
+ preprod: 'ca0b1e3c601857a7b6940bbbbd6508654f5983b63aa36ccf8254f7700f89aead',
74
+ preview: '31df87bc396ab32e8408b0ebfd1f8e7bf121f17e12e2ba360ed9f08c7ba40692',
75
+ };
76
+ /** The vault a call targets: the given address, else the sandbox vault of the network. */
77
+ export function vaultOf(config, contractAddress, compiledArtifactRef) {
78
+ if (contractAddress)
79
+ return contractAddress.toLowerCase();
80
+ if (compiledArtifactRef && compiledArtifactRef !== 'attestation-vault-32') {
81
+ throw new Error(`the sandbox vaults are attestation-vault-32: pass contractAddress for a '${compiledArtifactRef}' vault`);
82
+ }
83
+ const sandbox = SANDBOX_VAULTS[config.network];
84
+ if (!sandbox)
85
+ throw new Error(`contractAddress is required on ${config.network}: there is no sandbox vault there`);
86
+ return sandbox;
87
+ }
88
+ /** True for a key of the hosted gateway, which reports its units on GET /me. */
89
+ export function isGatewayKey(config) {
90
+ return !!config.token?.startsWith('oda_');
91
+ }
65
92
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/factory.js CHANGED
@@ -1,17 +1,11 @@
1
- /**
2
- * Local minting on a token factory: the caller's side of a sponsored mint.
3
- *
4
- * The issuer secret is derived from `NIGHTGATE_SEED_HEX` by the rule the
5
- * server applies to a session on the same seed, the `mint` call is built,
6
- * proven and signed here, and only the fee-unpaid transaction travels to a
7
- * sponsor. The builder comes from `@odatano/nightgate-tx` on the lineage
8
- * package `@odatano/contract-token-factory`; both are optional peers.
9
- */
1
+ // Local minting on a token factory. The issuer secret is derived from the caller seed, the mint is built here,
2
+ // and only the fee-unpaid transaction goes to a sponsor. Needs @odatano/contract-token-factory next to the package.
10
3
  import { dirname } from 'node:path';
11
4
  import { fileURLToPath } from 'node:url';
12
5
  import { builderChainOptions } from './config.js';
13
6
  import { txExport } from './tx-module.js';
14
7
  import { seedIdentity } from './builder.js';
8
+ import { ensureSeed } from './seed.js';
15
9
  const FACTORY_PACKAGE = '@odatano/contract-token-factory';
16
10
  const HERE = dirname(fileURLToPath(import.meta.url));
17
11
  let factoryModule;
@@ -46,9 +40,7 @@ async function getFactoryBuilder(config) {
46
40
  }
47
41
  /** Build, prove and sign a mint locally; unbound, for sponsor_unbound_transaction. */
48
42
  export async function buildMint(config, input) {
49
- if (!config.seedHex) {
50
- throw new Error('minting needs NIGHTGATE_SEED_HEX (128 hex characters, a 64-byte BIP39 seed) in the MCP server environment: the seed is the issuer');
51
- }
43
+ const seedHex = await ensureSeed(config);
52
44
  const t0 = Date.now();
53
45
  const self = await seedIdentity(config);
54
46
  const recipient = (input.recipientCoinPublicKey ?? self.coinPublicKey).toLowerCase();
@@ -62,7 +54,7 @@ export async function buildMint(config, input) {
62
54
  txExport('tokenTypeOf', 'minting', '0.10.2'),
63
55
  ]);
64
56
  const { pureCircuits } = await loadFactoryModule();
65
- const issuerSecret = await issuerSecretOf({ seedHex: config.seedHex });
57
+ const issuerSecret = await issuerSecretOf({ seedHex });
66
58
  const contractAddress = input.contractAddress.toLowerCase();
67
59
  const { issuer, domain, type } = await tokenTypeOf(pureCircuits, { issuerSecret, name: input.name, contractAddress });
68
60
  const b = await getFactoryBuilder(config);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/jobs.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
2
+ import type { ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
3
+ import { type NightgateClient } from './client.js';
4
+ import type { NightgateMcpConfig } from './config.js';
5
+ export type ToolExtra = RequestHandlerExtra<ServerRequest, ServerNotification>;
6
+ /** A follow-up call that shows on-chain whether the job's effect landed. */
7
+ export interface JobCheck {
8
+ tool: string;
9
+ args: Record<string, unknown>;
10
+ }
11
+ export declare function jobSession(jobId: string): string | undefined;
12
+ export declare function startOnce(key: string, start: () => Promise<Record<string, unknown>>): Promise<Record<string, unknown>>;
13
+ /** A failed job is forgotten, so the next call with the same key builds again. */
14
+ export declare function forgetStart(key: string): void;
15
+ export declare function awaitJob(client: NightgateClient, config: NightgateMcpConfig | undefined, start: Record<string, unknown>, extra: ToolExtra | undefined, check?: JobCheck): Promise<Record<string, unknown>>;
package/dist/jobs.js ADDED
@@ -0,0 +1,116 @@
1
+ import { NightgateApiError } from './client.js';
2
+ /** Longest a tool waits for the job it started, in ms. */
3
+ const JOB_MAX_WAIT_MS = 300_000;
4
+ /** How long one getJobStatus call lets the server wait, in ms. */
5
+ const JOB_WAIT_MS = 20_000;
6
+ /** How long a started job is kept, so a repeated call picks it up instead of submitting again. */
7
+ const STARTED_TTL_MS = 3_600_000;
8
+ // Off for this process once the server refuses getJobStatus' waitMs.
9
+ let longPoll = true;
10
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
11
+ /** The session of every job this process started; getJobStatus needs it, the caller never sees it. */
12
+ const sessions = new Map();
13
+ export function jobSession(jobId) {
14
+ return sessions.get(jobId);
15
+ }
16
+ const started = new Map();
17
+ // Starts the job for `key` once. A repeated call with the same key gets the job already started,
18
+ // so a client that gave up and asks again pays no second fee.
19
+ export function startOnce(key, start) {
20
+ const now = Date.now();
21
+ for (const [k, e] of started)
22
+ if (now - e.at > STARTED_TTL_MS)
23
+ started.delete(k);
24
+ let entry = started.get(key);
25
+ if (!entry) {
26
+ entry = { job: start(), at: now };
27
+ started.set(key, entry);
28
+ entry.job.catch(() => started.delete(key));
29
+ }
30
+ return entry.job;
31
+ }
32
+ /** A failed job is forgotten, so the next call with the same key builds again. */
33
+ export function forgetStart(key) {
34
+ started.delete(key);
35
+ }
36
+ /** What a failed job asks the caller to do next. */
37
+ function nextStep(job) {
38
+ if (job.status !== 'failed')
39
+ return undefined;
40
+ if (job.errorCode === 'CHAIN_EXECUTION_FAILED') {
41
+ return 'The transaction is on-chain but its contract call did not apply, usually because another call changed the same contract in that block. Run the tool again; it builds against the new state.';
42
+ }
43
+ return 'Nothing was applied. Read errorCode and errorMessage, fix the input and run the tool again.';
44
+ }
45
+ /** Reads the job's status once, waiting on the server where it can. */
46
+ async function readJob(client, config, jobId, sessionId) {
47
+ const waitMs = longPoll ? Math.min(JOB_WAIT_MS, Math.max(0, (config?.timeoutMs ?? 30_000) - 5_000)) : 0;
48
+ try {
49
+ return await client.callAction('getJobStatus', waitMs > 0 ? { jobId, sessionId, waitMs } : { jobId, sessionId });
50
+ }
51
+ catch (err) {
52
+ if (!(waitMs > 0 && err instanceof NightgateApiError && err.status === 400 && /waitMs/.test(err.message)))
53
+ throw err;
54
+ longPoll = false;
55
+ return await client.callAction('getJobStatus', { jobId, sessionId });
56
+ }
57
+ }
58
+ // Waits until a sponsor job settled and returns its outcome. A job still open after 5 minutes,
59
+ // or one whose status cannot be read, comes back as pending, with `check` to look it up on-chain.
60
+ export async function awaitJob(client, config, start, extra, check) {
61
+ const { jobId, sessionId } = start;
62
+ if (typeof jobId !== 'string' || typeof sessionId !== 'string')
63
+ return start;
64
+ sessions.set(jobId, sessionId);
65
+ const deadline = Date.now() + JOB_MAX_WAIT_MS;
66
+ let job = start;
67
+ let statusError;
68
+ while (job.status !== 'succeeded' && job.status !== 'failed' && Date.now() < deadline) {
69
+ if (extra?.signal.aborted)
70
+ break;
71
+ const t0 = Date.now();
72
+ try {
73
+ job = { ...job, ...await readJob(client, config, jobId, sessionId) };
74
+ statusError = undefined;
75
+ }
76
+ catch (err) {
77
+ statusError = err instanceof Error ? err.message : String(err);
78
+ // a 4xx is no verdict on the job either, but asking again will not change it
79
+ if (err instanceof NightgateApiError && err.status < 500 && err.status !== 429)
80
+ break;
81
+ }
82
+ // a server that answered at once did not wait: pause before asking again
83
+ if (Date.now() - t0 < 1_000)
84
+ await sleep(3_000);
85
+ }
86
+ return outcome(job, check, statusError);
87
+ }
88
+ function outcome(job, check, statusError) {
89
+ const { sessionId: _s, result, ...rest } = job;
90
+ const out = { ...rest };
91
+ if (typeof result === 'string' && result) {
92
+ try {
93
+ out.result = JSON.parse(result);
94
+ }
95
+ catch {
96
+ out.result = result;
97
+ }
98
+ }
99
+ else if (result !== undefined && result !== null) {
100
+ out.result = result;
101
+ }
102
+ const settled = job.status === 'succeeded' || job.status === 'failed';
103
+ if (!settled) {
104
+ out.status = 'pending';
105
+ out.next = 'The job runs on. Run this tool again with the same arguments to wait for it; it submits nothing new.';
106
+ if (statusError)
107
+ out.statusError = statusError;
108
+ }
109
+ const step = nextStep(job);
110
+ if (step)
111
+ out.next = step;
112
+ if (check && job.status !== 'failed')
113
+ out.check = check;
114
+ return out;
115
+ }
116
+ //# sourceMappingURL=jobs.js.map