@nookplot/runtime 0.5.148 → 0.5.150

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.
Files changed (109) hide show
  1. package/dist/__tests__/apiMarketplace.test.js +2 -189
  2. package/dist/__tests__/apiMarketplace.test.js.map +1 -1
  3. package/dist/__tests__/autonomous.dedup.test.js +0 -11
  4. package/dist/__tests__/autonomous.dedup.test.js.map +1 -1
  5. package/dist/__tests__/autonomous.getAvailableActions.test.js +1 -13
  6. package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -1
  7. package/dist/__tests__/autonomous.openSignals.test.d.ts +13 -0
  8. package/dist/__tests__/autonomous.openSignals.test.d.ts.map +1 -0
  9. package/dist/__tests__/autonomous.openSignals.test.js +69 -0
  10. package/dist/__tests__/autonomous.openSignals.test.js.map +1 -0
  11. package/dist/__tests__/autonomous.v11OpenSignals.test.js +3 -0
  12. package/dist/__tests__/autonomous.v11OpenSignals.test.js.map +1 -1
  13. package/dist/__tests__/bdAgentPack.test.js +1 -1
  14. package/dist/__tests__/bdAgentPack.test.js.map +1 -1
  15. package/dist/__tests__/bounties.test.js +0 -12
  16. package/dist/__tests__/bounties.test.js.map +1 -1
  17. package/dist/__tests__/codegen-drift.test.js +1 -3
  18. package/dist/__tests__/codegen-drift.test.js.map +1 -1
  19. package/dist/__tests__/conversation/modelThresholdsParity.test.js +14 -19
  20. package/dist/__tests__/conversation/modelThresholdsParity.test.js.map +1 -1
  21. package/dist/__tests__/economy.frontierInference.test.d.ts +2 -0
  22. package/dist/__tests__/economy.frontierInference.test.d.ts.map +1 -0
  23. package/dist/__tests__/economy.frontierInference.test.js +61 -0
  24. package/dist/__tests__/economy.frontierInference.test.js.map +1 -0
  25. package/dist/__tests__/economy.surplusBranch.test.js +0 -64
  26. package/dist/__tests__/economy.surplusBranch.test.js.map +1 -1
  27. package/dist/__tests__/pack.test.js +14 -14
  28. package/dist/__tests__/packLoader.test.js +4 -4
  29. package/dist/__tests__/presetLoader.test.js +42 -42
  30. package/dist/__tests__/sandbox.test.js +24 -24
  31. package/dist/actionCatalog.d.ts.map +1 -1
  32. package/dist/actionCatalog.generated.d.ts +1 -1
  33. package/dist/actionCatalog.generated.d.ts.map +1 -1
  34. package/dist/actionCatalog.generated.js +31 -141
  35. package/dist/actionCatalog.generated.js.map +1 -1
  36. package/dist/actionCatalog.js +10 -0
  37. package/dist/actionCatalog.js.map +1 -1
  38. package/dist/api-marketplace.d.ts +0 -146
  39. package/dist/api-marketplace.d.ts.map +1 -1
  40. package/dist/api-marketplace.js +0 -218
  41. package/dist/api-marketplace.js.map +1 -1
  42. package/dist/autonomous.d.ts +9 -16
  43. package/dist/autonomous.d.ts.map +1 -1
  44. package/dist/autonomous.js +59 -276
  45. package/dist/autonomous.js.map +1 -1
  46. package/dist/bounties.d.ts +0 -8
  47. package/dist/bounties.d.ts.map +1 -1
  48. package/dist/bounties.js +0 -2
  49. package/dist/bounties.js.map +1 -1
  50. package/dist/chat/terminals/httpChatTerminal.d.ts +43 -0
  51. package/dist/chat/terminals/httpChatTerminal.d.ts.map +1 -0
  52. package/dist/chat/terminals/httpChatTerminal.js +186 -0
  53. package/dist/chat/terminals/httpChatTerminal.js.map +1 -0
  54. package/dist/contentSafety.d.ts +1 -1
  55. package/dist/contentSafety.d.ts.map +1 -1
  56. package/dist/contentSafety.js +2 -6
  57. package/dist/contentSafety.js.map +1 -1
  58. package/dist/conversation/modelLimits.js +17 -17
  59. package/dist/discovery.js +1 -1
  60. package/dist/discovery.js.map +1 -1
  61. package/dist/economy.d.ts +15 -10
  62. package/dist/economy.d.ts.map +1 -1
  63. package/dist/economy.js +29 -16
  64. package/dist/economy.js.map +1 -1
  65. package/dist/frontierPass.d.ts +30 -0
  66. package/dist/frontierPass.d.ts.map +1 -0
  67. package/dist/frontierPass.js +42 -0
  68. package/dist/frontierPass.js.map +1 -0
  69. package/dist/goal/goalPrompts.js +27 -27
  70. package/dist/index.d.ts +9 -8
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +6 -5
  73. package/dist/index.js.map +1 -1
  74. package/dist/signalActionMap.d.ts.map +1 -1
  75. package/dist/signalActionMap.js +6 -15
  76. package/dist/signalActionMap.js.map +1 -1
  77. package/dist/swarms.d.ts +0 -13
  78. package/dist/swarms.d.ts.map +1 -1
  79. package/dist/swarms.js +0 -4
  80. package/dist/swarms.js.map +1 -1
  81. package/dist/tools.js +1 -1
  82. package/dist/tools.js.map +1 -1
  83. package/dist/types.d.ts +4 -20
  84. package/dist/types.d.ts.map +1 -1
  85. package/package.json +75 -75
  86. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts +0 -2
  87. package/dist/__tests__/autonomous.goalBootstrap.test.d.ts.map +0 -1
  88. package/dist/__tests__/autonomous.goalBootstrap.test.js +0 -148
  89. package/dist/__tests__/autonomous.goalBootstrap.test.js.map +0 -1
  90. package/dist/__tests__/autonomous.miningTrack.test.d.ts +0 -2
  91. package/dist/__tests__/autonomous.miningTrack.test.d.ts.map +0 -1
  92. package/dist/__tests__/autonomous.miningTrack.test.js +0 -38
  93. package/dist/__tests__/autonomous.miningTrack.test.js.map +0 -1
  94. package/dist/__tests__/autonomous.payApi.test.d.ts +0 -2
  95. package/dist/__tests__/autonomous.payApi.test.d.ts.map +0 -1
  96. package/dist/__tests__/autonomous.payApi.test.js +0 -73
  97. package/dist/__tests__/autonomous.payApi.test.js.map +0 -1
  98. package/dist/__tests__/autonomous.workspaceOpportunity.test.d.ts +0 -2
  99. package/dist/__tests__/autonomous.workspaceOpportunity.test.d.ts.map +0 -1
  100. package/dist/__tests__/autonomous.workspaceOpportunity.test.js +0 -212
  101. package/dist/__tests__/autonomous.workspaceOpportunity.test.js.map +0 -1
  102. package/dist/__tests__/mining.test.d.ts +0 -2
  103. package/dist/__tests__/mining.test.d.ts.map +0 -1
  104. package/dist/__tests__/mining.test.js +0 -306
  105. package/dist/__tests__/mining.test.js.map +0 -1
  106. package/dist/__tests__/signalActionMap.test.d.ts +0 -17
  107. package/dist/__tests__/signalActionMap.test.d.ts.map +0 -1
  108. package/dist/__tests__/signalActionMap.test.js +0 -165
  109. package/dist/__tests__/signalActionMap.test.js.map +0 -1
@@ -36,15 +36,6 @@ export interface ApiRegisterEndpointInput {
36
36
  rateLimitRpm?: number;
37
37
  allowedMethods?: string[];
38
38
  maxPayloadBytes?: number;
39
- /** Optional per-listing streaming wall-time, [1, 600] seconds. */
40
- maxStreamSeconds?: number;
41
- /**
42
- * Full upstream Authorization header value (e.g. "Bearer sk-..." or
43
- * "Basic base64(user:pass)"). Encrypted at rest by the gateway with
44
- * SECRET_ENCRYPTION_KEY. Pass `null` to clear an existing value; omit
45
- * to leave it untouched on re-registration.
46
- */
47
- upstreamAuth?: string | null;
48
39
  }
49
40
  /** Input for sending a provider heartbeat. */
50
41
  export interface ApiHeartbeatInput {
@@ -52,44 +43,6 @@ export interface ApiHeartbeatInput {
52
43
  latencyMs?: number;
53
44
  activeAgreements?: number;
54
45
  }
55
- /**
56
- * Sampler for per-tick numeric fields on the heartbeat loop. Either a
57
- * static value, a sync function, or an async function. Returning
58
- * `undefined` (or throwing) omits the field from that tick's payload.
59
- */
60
- export type ApiHeartbeatSampler = number | (() => number | undefined | Promise<number | undefined>);
61
- /** Input for the long-running heartbeat helper {@link ApiMarketplaceManager.startHeartbeat}. */
62
- export interface ApiStartHeartbeatInput {
63
- listingId: number;
64
- /**
65
- * Interval between heartbeats in milliseconds. The gateway flips a
66
- * listing to `degraded` after 5 min without one and `offline` after
67
- * 15 min — choose well under 5 min (default in the CLI flag is 240000 = 4 min).
68
- */
69
- intervalMs: number;
70
- /** Optional p95 latency to attach to each heartbeat. Re-sampled per tick. */
71
- latencyMs?: ApiHeartbeatSampler;
72
- /** Optional active-agreement count. Re-sampled per tick. */
73
- activeAgreements?: ApiHeartbeatSampler;
74
- /**
75
- * When `true`, wait one `intervalMs` before the first heartbeat instead
76
- * of firing immediately. Defaults to `false` so the listing flips to
77
- * `online` as soon as the loop starts.
78
- */
79
- skipImmediate?: boolean;
80
- /**
81
- * Called when a heartbeat throws. Receives the raw error. Defaults to
82
- * `console.warn`. Return value is ignored; the loop always continues.
83
- */
84
- onError?: (err: unknown) => void;
85
- /** Called after each successful heartbeat with the gateway response. */
86
- onSuccess?: (response: unknown) => void;
87
- }
88
- /** Handle returned by {@link ApiMarketplaceManager.startHeartbeat}. */
89
- export interface ApiStartHeartbeatHandle {
90
- /** Stop the loop. Idempotent. In-flight requests are NOT aborted but their result is discarded. */
91
- stop: () => void;
92
- }
93
46
  /** Input for making a proxied API request. */
94
47
  export interface ApiProxyRequestInput {
95
48
  agreementId: number;
@@ -98,35 +51,13 @@ export interface ApiProxyRequestInput {
98
51
  body?: unknown;
99
52
  headers?: Record<string, string>;
100
53
  }
101
- /**
102
- * Quota snapshot parsed from `X-Nookplot-Quota-*` response headers
103
- * (Phase 14.4). Present on every 2xx/4xx api-category proxy response;
104
- * absent on 5xx responses and non-api agreements.
105
- */
106
- export interface ApiProxyQuotaSnapshot {
107
- /** Pricing model declared on the agreement's listing. */
108
- model: string;
109
- /** Total requests allowed for the bundle, or null for uncountable models. */
110
- cap: number | null;
111
- /** Requests remaining after this call, or null for uncountable models. */
112
- remaining: number | null;
113
- /** ISO 8601 reset timestamp, set on `per-month` pricing only. */
114
- resetAt: string | null;
115
- }
116
54
  /** Result from a proxied API request. */
117
55
  export interface ApiProxyResult {
118
56
  status: number;
119
57
  headers: Record<string, string>;
120
58
  body: unknown;
121
59
  requestId: string;
122
- /** Parsed quota snapshot, when present. See `ApiProxyQuotaSnapshot`. */
123
- quota: ApiProxyQuotaSnapshot | null;
124
60
  }
125
- /**
126
- * Parse `X-Nookplot-Quota-*` headers into a structured snapshot.
127
- * Returns null when none of the expected headers are present.
128
- */
129
- export declare function parseQuotaHeaders(headers: Record<string, string>): ApiProxyQuotaSnapshot | null;
130
61
  export declare class ApiMarketplaceManager {
131
62
  private readonly connection;
132
63
  constructor(connection: ConnectionManager);
@@ -146,54 +77,10 @@ export declare class ApiMarketplaceManager {
146
77
  * Register or update a proxy endpoint for an API listing.
147
78
  */
148
79
  registerEndpoint(input: ApiRegisterEndpointInput): Promise<unknown>;
149
- /**
150
- * Unregister a proxy endpoint (Phase 11.1).
151
- *
152
- * Stops serving traffic on this listing immediately:
153
- * - `api_proxy_config` row is deleted
154
- * - `api_availability.status` is flipped to `offline`
155
- * - subsequent proxy calls return 502 `provider has unregistered`
156
- *
157
- * Active agreements are NOT cancelled — the provider remains liable
158
- * for any pre-paid escrow and must settle/cancel/let-expire each one
159
- * on-chain. The returned `activeAgreements` count + `warning` string
160
- * surface that liability to the caller.
161
- */
162
- unregisterEndpoint(listingId: number): Promise<{
163
- ok: true;
164
- activeAgreements: number;
165
- warning: string;
166
- }>;
167
80
  /**
168
81
  * Send a heartbeat to indicate API is available.
169
82
  */
170
83
  heartbeat(input: ApiHeartbeatInput): Promise<unknown>;
171
- /**
172
- * Long-running heartbeat loop for providers running on traditional
173
- * (non-serverless) hosts. Fires {@link heartbeat} immediately, then
174
- * every `intervalMs`. Returns a `stop()` callable.
175
- *
176
- * Errors are swallowed (logged via `onError` or `console.warn`) so a
177
- * transient network blip never tears down the loop. The timer is
178
- * `unref()`'d on Node so the process can still exit if nothing else
179
- * is keeping it alive.
180
- *
181
- * Serverless agents (GH Actions, Vercel cron, k8s CronJob, AWS Lambda
182
- * scheduled invokes) should keep calling the single-shot
183
- * {@link heartbeat} from their own scheduler instead — the loop only
184
- * makes sense for long-running processes.
185
- *
186
- * @example
187
- * ```ts
188
- * const { stop } = runtime.apiMarketplace.startHeartbeat({
189
- * listingId: 42,
190
- * intervalMs: 4 * 60 * 1000, // 4 min, under the 5-min degraded threshold
191
- * latencyMs: () => latencyTracker.p95(),
192
- * });
193
- * process.on("SIGINT", () => { stop(); process.exit(0); });
194
- * ```
195
- */
196
- startHeartbeat(input: ApiStartHeartbeatInput): ApiStartHeartbeatHandle;
197
84
  /**
198
85
  * Make a proxied API request through the gateway.
199
86
  *
@@ -201,14 +88,6 @@ export declare class ApiMarketplaceManager {
201
88
  * The gateway validates the signature, checks the agreement,
202
89
  * meters usage, and forwards to the provider.
203
90
  *
204
- * **Idempotency (status-only).** If the same (signature, request_id) pair
205
- * is submitted twice within the freshness window, the gateway returns
206
- * `{ idempotent: true, status_code, request_id }` for the second call —
207
- * the original response body is NOT replayed. Quota and billing increment
208
- * exactly once. Pass a fresh `requestId` per logical request, or rely on
209
- * the gateway to mint one. Body-level idempotency is the caller's
210
- * responsibility (persist the first response and re-use it client-side).
211
- *
212
91
  * @param input - The proxy request parameters
213
92
  * @param privateKey - The buyer's private key for signing
214
93
  * @returns The proxied API response
@@ -227,31 +106,6 @@ export declare class ApiMarketplaceManager {
227
106
  requestHash: string;
228
107
  };
229
108
  };
230
- /**
231
- * Phase 17.1 — open a streaming proxy request and yield decoded chunks
232
- * as they arrive. The agent stays in control of when to stop reading;
233
- * the underlying `fetch` Response is exposed via the optional `onResponse`
234
- * callback so the caller can read trailer headers (request id, quota
235
- * headers, etc.) once the stream completes.
236
- *
237
- * The gateway aborts streams that exceed the provider's declared
238
- * `maxStreamSeconds` (capped at 600s); callers can also abort early by
239
- * passing an `AbortSignal`.
240
- *
241
- * @example
242
- * ```ts
243
- * for await (const chunk of client.proxyRequestStream({
244
- * agreementId: 1, path: "v1/chat/completions",
245
- * body: { messages: [...], stream: true },
246
- * }, privateKey)) {
247
- * process.stdout.write(chunk);
248
- * }
249
- * ```
250
- */
251
- proxyRequestStream(input: ApiProxyRequestInput & {
252
- signal?: AbortSignal;
253
- onResponse?: (r: Response) => void;
254
- }, privateKey: string): AsyncGenerator<string, void, void>;
255
109
  }
256
110
  export {};
257
111
  //# sourceMappingURL=api-marketplace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-marketplace.d.ts","sourceRoot":"","sources":["../src/api-marketplace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-marketplace.d.ts","sourceRoot":"","sources":["../src/api-marketplace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,QAAA,MAAM,gBAAgB;;;;CAIrB,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;CAMtB,CAAC;AAIF,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAEnC,UAAU,EAAE,iBAAiB;IAQzC;;OAEG;IACG,eAAe,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3D;;;;;;;;;;OAUG;IACG,YAAY,CAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyD5F;;;OAGG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ;QACD,MAAM,EAAE,OAAO,gBAAgB,CAAC;QAChC,KAAK,EAAE,OAAO,iBAAiB,CAAC;QAChC,KAAK,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC;KACxE;CAgBF"}
@@ -11,13 +11,6 @@
11
11
  */
12
12
  import { ethers } from "ethers";
13
13
  // ── EIP-712 constants for proxy request signing ─────────────
14
- //
15
- // `verifyingContract` is intentionally omitted. The signature is verified
16
- // off-chain at the gateway (see gateway/src/routes/api-marketplace.ts),
17
- // not by any deployed contract, so EIP-712's optional verifyingContract
18
- // field has no value to point at. The domain shape here must stay byte-
19
- // identical to the gateway and Python runtime — any added field changes
20
- // the typed-data digest and breaks signature verification.
21
14
  const API_PROXY_DOMAIN = {
22
15
  name: "NookplotApiProxy",
23
16
  version: "1",
@@ -30,28 +23,6 @@ const API_REQUEST_TYPES = {
30
23
  { name: "requestHash", type: "bytes32" },
31
24
  ],
32
25
  };
33
- /**
34
- * Parse `X-Nookplot-Quota-*` headers into a structured snapshot.
35
- * Returns null when none of the expected headers are present.
36
- */
37
- export function parseQuotaHeaders(headers) {
38
- const model = headers["x-nookplot-quota-model"];
39
- if (!model)
40
- return null;
41
- const resetAt = headers["x-nookplot-quota-reset-at"] ?? null;
42
- const parseIntOrNull = (raw) => {
43
- if (raw === undefined || raw === "")
44
- return null;
45
- const n = Number(raw);
46
- return Number.isFinite(n) ? n : null;
47
- };
48
- return {
49
- model,
50
- cap: parseIntOrNull(headers["x-nookplot-quota-cap"]),
51
- remaining: parseIntOrNull(headers["x-nookplot-quota-remaining"]),
52
- resetAt,
53
- };
54
- }
55
26
  // ── Manager ─────────────────────────────────────────────────
56
27
  export class ApiMarketplaceManager {
57
28
  connection;
@@ -98,124 +69,12 @@ export class ApiMarketplaceManager {
98
69
  async registerEndpoint(input) {
99
70
  return this.connection.request("POST", "/v1/api/register-endpoint", input);
100
71
  }
101
- /**
102
- * Unregister a proxy endpoint (Phase 11.1).
103
- *
104
- * Stops serving traffic on this listing immediately:
105
- * - `api_proxy_config` row is deleted
106
- * - `api_availability.status` is flipped to `offline`
107
- * - subsequent proxy calls return 502 `provider has unregistered`
108
- *
109
- * Active agreements are NOT cancelled — the provider remains liable
110
- * for any pre-paid escrow and must settle/cancel/let-expire each one
111
- * on-chain. The returned `activeAgreements` count + `warning` string
112
- * surface that liability to the caller.
113
- */
114
- async unregisterEndpoint(listingId) {
115
- return this.connection.request("DELETE", `/v1/api/register-endpoint/${listingId}`);
116
- }
117
72
  /**
118
73
  * Send a heartbeat to indicate API is available.
119
74
  */
120
75
  async heartbeat(input) {
121
76
  return this.connection.request("POST", "/v1/api/heartbeat", input);
122
77
  }
123
- /**
124
- * Long-running heartbeat loop for providers running on traditional
125
- * (non-serverless) hosts. Fires {@link heartbeat} immediately, then
126
- * every `intervalMs`. Returns a `stop()` callable.
127
- *
128
- * Errors are swallowed (logged via `onError` or `console.warn`) so a
129
- * transient network blip never tears down the loop. The timer is
130
- * `unref()`'d on Node so the process can still exit if nothing else
131
- * is keeping it alive.
132
- *
133
- * Serverless agents (GH Actions, Vercel cron, k8s CronJob, AWS Lambda
134
- * scheduled invokes) should keep calling the single-shot
135
- * {@link heartbeat} from their own scheduler instead — the loop only
136
- * makes sense for long-running processes.
137
- *
138
- * @example
139
- * ```ts
140
- * const { stop } = runtime.apiMarketplace.startHeartbeat({
141
- * listingId: 42,
142
- * intervalMs: 4 * 60 * 1000, // 4 min, under the 5-min degraded threshold
143
- * latencyMs: () => latencyTracker.p95(),
144
- * });
145
- * process.on("SIGINT", () => { stop(); process.exit(0); });
146
- * ```
147
- */
148
- startHeartbeat(input) {
149
- if (!Number.isFinite(input.intervalMs) || input.intervalMs <= 0) {
150
- throw new Error(`startHeartbeat: intervalMs must be a positive finite number (got ${input.intervalMs})`);
151
- }
152
- if (!Number.isFinite(input.listingId) || input.listingId < 0) {
153
- throw new Error(`startHeartbeat: listingId must be a non-negative number (got ${input.listingId})`);
154
- }
155
- let stopped = false;
156
- let timer = null;
157
- const resolveSample = async (s) => {
158
- if (s === undefined)
159
- return undefined;
160
- if (typeof s === "number")
161
- return s;
162
- try {
163
- const v = await s();
164
- return typeof v === "number" && Number.isFinite(v) ? v : undefined;
165
- }
166
- catch {
167
- return undefined;
168
- }
169
- };
170
- const schedule = (delayMs) => {
171
- timer = setTimeout(tick, delayMs);
172
- // Node-only: don't keep the event loop alive just for the heartbeat.
173
- const t = timer;
174
- if (typeof t.unref === "function")
175
- t.unref();
176
- };
177
- const tick = async () => {
178
- if (stopped)
179
- return;
180
- try {
181
- const beat = { listingId: input.listingId };
182
- const latencyMs = await resolveSample(input.latencyMs);
183
- if (latencyMs !== undefined)
184
- beat.latencyMs = latencyMs;
185
- const activeAgreements = await resolveSample(input.activeAgreements);
186
- if (activeAgreements !== undefined)
187
- beat.activeAgreements = activeAgreements;
188
- const response = await this.heartbeat(beat);
189
- if (!stopped)
190
- input.onSuccess?.(response);
191
- }
192
- catch (err) {
193
- if (stopped)
194
- return;
195
- if (input.onError) {
196
- input.onError(err);
197
- }
198
- else {
199
- const msg = err instanceof Error ? err.message : String(err);
200
- console.warn(`[nookplot] heartbeat failed for listing ${input.listingId}: ${msg}`);
201
- }
202
- }
203
- finally {
204
- if (!stopped)
205
- schedule(input.intervalMs);
206
- }
207
- };
208
- schedule(input.skipImmediate ? input.intervalMs : 0);
209
- return {
210
- stop: () => {
211
- stopped = true;
212
- if (timer !== null) {
213
- clearTimeout(timer);
214
- timer = null;
215
- }
216
- },
217
- };
218
- }
219
78
  // ============================================================
220
79
  // Proxy Request (Buyer)
221
80
  // ============================================================
@@ -226,14 +85,6 @@ export class ApiMarketplaceManager {
226
85
  * The gateway validates the signature, checks the agreement,
227
86
  * meters usage, and forwards to the provider.
228
87
  *
229
- * **Idempotency (status-only).** If the same (signature, request_id) pair
230
- * is submitted twice within the freshness window, the gateway returns
231
- * `{ idempotent: true, status_code, request_id }` for the second call —
232
- * the original response body is NOT replayed. Quota and billing increment
233
- * exactly once. Pass a fresh `requestId` per logical request, or rely on
234
- * the gateway to mint one. Body-level idempotency is the caller's
235
- * responsibility (persist the first response and re-use it client-side).
236
- *
237
88
  * @param input - The proxy request parameters
238
89
  * @param privateKey - The buyer's private key for signing
239
90
  * @returns The proxied API response
@@ -280,7 +131,6 @@ export class ApiMarketplaceManager {
280
131
  headers: responseHeaders,
281
132
  body: responseBody,
282
133
  requestId: responseHeaders["x-nookplot-request-id"] ?? "",
283
- quota: parseQuotaHeaders(responseHeaders),
284
134
  };
285
135
  }
286
136
  /**
@@ -300,73 +150,5 @@ export class ApiMarketplaceManager {
300
150
  },
301
151
  };
302
152
  }
303
- /**
304
- * Phase 17.1 — open a streaming proxy request and yield decoded chunks
305
- * as they arrive. The agent stays in control of when to stop reading;
306
- * the underlying `fetch` Response is exposed via the optional `onResponse`
307
- * callback so the caller can read trailer headers (request id, quota
308
- * headers, etc.) once the stream completes.
309
- *
310
- * The gateway aborts streams that exceed the provider's declared
311
- * `maxStreamSeconds` (capped at 600s); callers can also abort early by
312
- * passing an `AbortSignal`.
313
- *
314
- * @example
315
- * ```ts
316
- * for await (const chunk of client.proxyRequestStream({
317
- * agreementId: 1, path: "v1/chat/completions",
318
- * body: { messages: [...], stream: true },
319
- * }, privateKey)) {
320
- * process.stdout.write(chunk);
321
- * }
322
- * ```
323
- */
324
- async *proxyRequestStream(input, privateKey) {
325
- const method = input.method ?? "POST";
326
- const bodyStr = input.body ? JSON.stringify(input.body) : "";
327
- const timestamp = Math.floor(Date.now() / 1000);
328
- const requestHash = ethers.keccak256(ethers.toUtf8Bytes(`${method}:${input.path}:${bodyStr}`));
329
- const wallet = new ethers.Wallet(privateKey);
330
- const signature = await wallet.signTypedData(API_PROXY_DOMAIN, API_REQUEST_TYPES, {
331
- agreementId: BigInt(input.agreementId),
332
- timestamp: BigInt(timestamp),
333
- requestHash,
334
- });
335
- const url = `${this.connection.gatewayUrl}/v1/api-proxy/${input.agreementId}/${input.path}`;
336
- const headers = {
337
- "Authorization": `Bearer ${this.connection.apiKey}`,
338
- "Content-Type": "application/json",
339
- "X-Nookplot-Signature": signature,
340
- "X-Nookplot-Timestamp": String(timestamp),
341
- "Accept": "text/event-stream",
342
- ...input.headers,
343
- };
344
- const init = { method, headers, signal: input.signal };
345
- if (bodyStr && !["GET", "HEAD"].includes(method)) {
346
- init.body = bodyStr;
347
- }
348
- const response = await fetch(url, init);
349
- input.onResponse?.(response);
350
- if (!response.body)
351
- return;
352
- const decoder = new TextDecoder();
353
- const reader = response.body.getReader();
354
- try {
355
- // eslint-disable-next-line no-constant-condition
356
- while (true) {
357
- const { done, value } = await reader.read();
358
- if (done)
359
- break;
360
- if (value)
361
- yield decoder.decode(value, { stream: true });
362
- }
363
- const tail = decoder.decode();
364
- if (tail)
365
- yield tail;
366
- }
367
- finally {
368
- reader.releaseLock();
369
- }
370
- }
371
153
  }
372
154
  //# sourceMappingURL=api-marketplace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-marketplace.js","sourceRoot":"","sources":["../src/api-marketplace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-marketplace.js","sourceRoot":"","sources":["../src/api-marketplace.ts"],"names":[],"mappings":"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"}
@@ -191,21 +191,6 @@ export declare class AutonomousAgent {
191
191
  start(): void;
192
192
  /** Stop the autonomous agent. */
193
193
  stop(): void;
194
- /**
195
- * Check whether this agent has an initial_goal + pending status, and
196
- * if so, spin up a GoalLoop in the background. Non-blocking — start()
197
- * returns immediately so WebSocket signal subscriptions are live even
198
- * while the goal loop is running its first step.
199
- */
200
- private maybeBootstrapGoal;
201
- /**
202
- * Dispatch on the terminal state of a GoalLoop run:
203
- * - complete → store artifact in private KG, pause agent
204
- * - blocked_budget → create pending task (budget_exhausted), pause
205
- * - blocked_stuck → create pending task (stuck_3x), pause
206
- * - blocked_capability → create pending task (needs_capability), pause
207
- */
208
- private handleGoalResult;
209
194
  /**
210
195
  * Build a stable dedup key from a signal so we can detect duplicates.
211
196
  * DMs dedup on sender, followers dedup on address, channels dedup on channel+sender.
@@ -221,7 +206,6 @@ export declare class AutonomousAgent {
221
206
  private handleAttestationOpportunity;
222
207
  private handleBounty;
223
208
  private handleGuildOpportunity;
224
- private handleWorkspaceOpportunity;
225
209
  private handleMiningOpportunity;
226
210
  private handleSubmissionVerified;
227
211
  private handleLearningCommentReceived;
@@ -251,6 +235,7 @@ export declare class AutonomousAgent {
251
235
  private handleOnboardingSuggestion;
252
236
  private handleSpecializationPath;
253
237
  private handleCommunityGap;
238
+ private handleDirective;
254
239
  private handleFilesCommitted;
255
240
  private handleReviewSubmitted;
256
241
  private handleCollaboratorAdded;
@@ -282,6 +267,14 @@ export declare class AutonomousAgent {
282
267
  * the agent collaborates on have no reviews yet.
283
268
  */
284
269
  private handlePendingReview;
270
+ /**
271
+ * Execute a `use_frontier_model` action — delegates to the shared
272
+ * {@link runFrontierPass} so the runtime + CLI dispatch paths can't drift on
273
+ * this money path. Consumes an owner-reserved pass, runs a one-shot Surplus
274
+ * completion paid by the agent's OWN x402 key, finalizes (or reverts on
275
+ * failure). Returns the frontier answer, or an `{ error }` tool result.
276
+ */
277
+ private executeFrontierPass;
285
278
  private handleActionRequest;
286
279
  private handleTeachingProposed;
287
280
  private handleTeachingAccepted;
@@ -1 +1 @@
1
- {"version":3,"file":"autonomous.d.ts","sourceRoot":"","sources":["../src/autonomous.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomous.d.ts","sourceRoot":"","sources":["../src/autonomous.ts"],"names":[],"mappings":"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"}