@noodleseed/one 0.56.0 → 0.58.0
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/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +2 -2
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js +6 -3
- package/node_modules/@noodle-borg/runtime/dist/confirmation.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/execute.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/execute.js +7 -3
- package/node_modules/@noodle-borg/runtime/dist/execute.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/interactive.js +6 -3
- package/node_modules/@noodle-borg/runtime/dist/interactive.js.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts +13 -4
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js +13 -2
- package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.d.ts +4 -1
- package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.js +3 -3
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/overage-window-closure.d.ts +45 -0
- package/node_modules/@noodle-borg/service/dist/billing/overage-window-closure.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/overage-window-closure.js +175 -0
- package/node_modules/@noodle-borg/service/dist/billing/overage-window-closure.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.js +17 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js +8 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.js +10 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js +2 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-evidence-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-evidence-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-evidence-schema.js +94 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-evidence-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-window-close.d.ts +10 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-window-close.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-window-close.js +204 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-overage-window-close.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.js +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/tool-dispatch.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/tool-dispatch.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { createBillingOverageWindowClosure, } from './overage-window-closure.js';
|
|
3
|
+
import { entitlementSnapshotRowToRecord } from './postgres-records.js';
|
|
4
|
+
/** Persist positive paid-v2 account closures inside the final meter-seal transaction. */
|
|
5
|
+
export async function closeBillingOverageWindow(client, input) {
|
|
6
|
+
const epoch = await client.query(`SELECT purpose, admission_contract_version
|
|
7
|
+
FROM billing_meter_epochs
|
|
8
|
+
WHERE id = $1`, [input.epochId]);
|
|
9
|
+
const authority = epoch.rows[0];
|
|
10
|
+
if (authority?.purpose !== 'authoritative' || authority.admission_contract_version !== 2) {
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
const result = await client.query(`SELECT account.billing_account_id,
|
|
14
|
+
account.overage_calls::text AS account_overage_calls,
|
|
15
|
+
source.snapshot_id,
|
|
16
|
+
source.snapshot_version,
|
|
17
|
+
source.overage_calls::text AS source_overage_calls,
|
|
18
|
+
snapshot.plan_version_id,
|
|
19
|
+
plan.plan_code,
|
|
20
|
+
plan.version AS plan_version,
|
|
21
|
+
plan.effective_from AS plan_effective_from,
|
|
22
|
+
plan.entitlements AS plan_entitlements,
|
|
23
|
+
plan.content_checksum AS plan_content_checksum,
|
|
24
|
+
plan.created_at AS plan_created_at,
|
|
25
|
+
snapshot.version AS persisted_snapshot_version,
|
|
26
|
+
snapshot.schema_version AS snapshot_schema_version,
|
|
27
|
+
snapshot.source_kind,
|
|
28
|
+
snapshot.generation_reason,
|
|
29
|
+
snapshot.verification_status,
|
|
30
|
+
snapshot.effective_from,
|
|
31
|
+
snapshot.effective_until,
|
|
32
|
+
snapshot.monthly_usage_anchor,
|
|
33
|
+
snapshot.entitlements,
|
|
34
|
+
snapshot.content_checksum AS snapshot_content_checksum,
|
|
35
|
+
snapshot.source_subscription_id,
|
|
36
|
+
snapshot.source_subscription_version,
|
|
37
|
+
snapshot.verified_at,
|
|
38
|
+
snapshot.created_at AS snapshot_created_at
|
|
39
|
+
FROM billing_meter_account_windows AS account
|
|
40
|
+
LEFT JOIN billing_meter_account_window_overage_sources AS source
|
|
41
|
+
ON source.epoch_id = account.epoch_id
|
|
42
|
+
AND source.billing_account_id = account.billing_account_id
|
|
43
|
+
AND source.window_start = account.window_start
|
|
44
|
+
AND source.window_end = account.window_end
|
|
45
|
+
LEFT JOIN billing_entitlement_snapshots AS snapshot
|
|
46
|
+
ON snapshot.billing_account_id = source.billing_account_id
|
|
47
|
+
AND snapshot.id = source.snapshot_id
|
|
48
|
+
LEFT JOIN billing_plan_versions AS plan ON plan.id = snapshot.plan_version_id
|
|
49
|
+
WHERE account.epoch_id = $1
|
|
50
|
+
AND account.window_start = $2
|
|
51
|
+
AND account.window_end = $3
|
|
52
|
+
AND account.overage_calls > 0
|
|
53
|
+
ORDER BY account.billing_account_id, source.snapshot_version, source.snapshot_id`, [input.epochId, input.windowStart, input.windowEnd]);
|
|
54
|
+
const accounts = new Map();
|
|
55
|
+
for (const row of result.rows) {
|
|
56
|
+
let account = accounts.get(row.billing_account_id);
|
|
57
|
+
const accountOverageCalls = positiveBigInt(row.account_overage_calls);
|
|
58
|
+
if (account === undefined) {
|
|
59
|
+
account = {
|
|
60
|
+
billingAccountId: row.billing_account_id,
|
|
61
|
+
overageCalls: accountOverageCalls,
|
|
62
|
+
sources: [],
|
|
63
|
+
};
|
|
64
|
+
accounts.set(row.billing_account_id, account);
|
|
65
|
+
}
|
|
66
|
+
else if (account.overageCalls !== accountOverageCalls) {
|
|
67
|
+
throw new Error('billing overage account counter changed during window closure');
|
|
68
|
+
}
|
|
69
|
+
if (row.snapshot_id === null ||
|
|
70
|
+
row.snapshot_version === null ||
|
|
71
|
+
row.source_overage_calls === null) {
|
|
72
|
+
throw new Error('billing overage closure requires compact paid source provenance');
|
|
73
|
+
}
|
|
74
|
+
const snapshot = parsePaidSourceSnapshot(row);
|
|
75
|
+
if (snapshot === undefined || snapshot.id !== row.snapshot_id) {
|
|
76
|
+
throw new Error('billing overage closure requires canonical paid source provenance');
|
|
77
|
+
}
|
|
78
|
+
account.sources.push({
|
|
79
|
+
snapshotId: row.snapshot_id,
|
|
80
|
+
snapshotVersion: row.snapshot_version,
|
|
81
|
+
subscriptionId: snapshot.sourceSubscriptionId,
|
|
82
|
+
subscriptionVersion: snapshot.sourceSubscriptionVersion,
|
|
83
|
+
overageCalls: positiveBigInt(row.source_overage_calls).toString(),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
let created = 0;
|
|
87
|
+
for (const account of accounts.values()) {
|
|
88
|
+
const closure = createBillingOverageWindowClosure({
|
|
89
|
+
closureId: `boc_${randomUUID()}`,
|
|
90
|
+
epochId: input.epochId,
|
|
91
|
+
billingAccountId: account.billingAccountId,
|
|
92
|
+
windowStart: input.windowStart,
|
|
93
|
+
windowEnd: input.windowEnd,
|
|
94
|
+
reconciliationRunId: input.reconciliationRunId,
|
|
95
|
+
overageCalls: account.overageCalls,
|
|
96
|
+
sources: account.sources,
|
|
97
|
+
closedAt: input.closedAt,
|
|
98
|
+
});
|
|
99
|
+
const inserted = await client.query(`INSERT INTO billing_overage_window_closures
|
|
100
|
+
(closure_id, schema_version, epoch_id, billing_account_id, window_start, window_end,
|
|
101
|
+
reconciliation_run_id, policy_kind, overage_calls, block_calls, block_amount_minor,
|
|
102
|
+
currency, rounding, billable_blocks, amount_minor, sources, source_checksum,
|
|
103
|
+
closed_at, content_checksum)
|
|
104
|
+
VALUES
|
|
105
|
+
($1, $2, $3, $4, $5, $6, $7, $8, $9::bigint, $10, $11, $12, $13,
|
|
106
|
+
$14::bigint, $15::bigint, $16::jsonb, $17, $18, $19)`, [
|
|
107
|
+
closure.closureId,
|
|
108
|
+
closure.schemaVersion,
|
|
109
|
+
closure.epochId,
|
|
110
|
+
closure.billingAccountId,
|
|
111
|
+
closure.windowStart,
|
|
112
|
+
closure.windowEnd,
|
|
113
|
+
closure.reconciliationRunId,
|
|
114
|
+
closure.policyKind,
|
|
115
|
+
closure.overageCalls,
|
|
116
|
+
closure.blockCalls,
|
|
117
|
+
closure.blockAmountMinor,
|
|
118
|
+
closure.currency,
|
|
119
|
+
closure.rounding,
|
|
120
|
+
closure.billableBlocks,
|
|
121
|
+
closure.amountMinor,
|
|
122
|
+
JSON.stringify(closure.sources),
|
|
123
|
+
closure.sourceChecksum,
|
|
124
|
+
closure.closedAt,
|
|
125
|
+
closure.contentChecksum,
|
|
126
|
+
]);
|
|
127
|
+
if (inserted.rowCount !== 1) {
|
|
128
|
+
throw new Error('billing overage window closure was not persisted');
|
|
129
|
+
}
|
|
130
|
+
created += 1;
|
|
131
|
+
}
|
|
132
|
+
return created;
|
|
133
|
+
}
|
|
134
|
+
function parsePaidSourceSnapshot(row) {
|
|
135
|
+
if (row.snapshot_id === null ||
|
|
136
|
+
row.persisted_snapshot_version === null ||
|
|
137
|
+
row.plan_version_id === null ||
|
|
138
|
+
row.plan_code === null ||
|
|
139
|
+
row.plan_version === null ||
|
|
140
|
+
row.plan_effective_from === null ||
|
|
141
|
+
row.plan_entitlements === null ||
|
|
142
|
+
row.plan_content_checksum === null ||
|
|
143
|
+
row.plan_created_at === null ||
|
|
144
|
+
row.snapshot_schema_version === null ||
|
|
145
|
+
row.source_kind === null ||
|
|
146
|
+
row.generation_reason === null ||
|
|
147
|
+
row.verification_status === null ||
|
|
148
|
+
row.effective_from === null ||
|
|
149
|
+
row.effective_until === null ||
|
|
150
|
+
row.monthly_usage_anchor === null ||
|
|
151
|
+
row.entitlements === null ||
|
|
152
|
+
row.snapshot_content_checksum === null ||
|
|
153
|
+
row.source_subscription_id === null ||
|
|
154
|
+
row.source_subscription_version === null ||
|
|
155
|
+
row.verified_at === null ||
|
|
156
|
+
row.snapshot_created_at === null) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
const snapshotRow = {
|
|
160
|
+
id: row.snapshot_id,
|
|
161
|
+
billing_account_id: row.billing_account_id,
|
|
162
|
+
version: row.persisted_snapshot_version,
|
|
163
|
+
plan_version_id: row.plan_version_id,
|
|
164
|
+
plan_code: row.plan_code,
|
|
165
|
+
plan_version: row.plan_version,
|
|
166
|
+
plan_effective_from: row.plan_effective_from,
|
|
167
|
+
plan_entitlements: row.plan_entitlements,
|
|
168
|
+
plan_content_checksum: row.plan_content_checksum,
|
|
169
|
+
plan_created_at: row.plan_created_at,
|
|
170
|
+
schema_version: row.snapshot_schema_version,
|
|
171
|
+
source_kind: row.source_kind,
|
|
172
|
+
generation_reason: row.generation_reason,
|
|
173
|
+
verification_status: row.verification_status,
|
|
174
|
+
effective_from: row.effective_from,
|
|
175
|
+
effective_until: row.effective_until,
|
|
176
|
+
monthly_usage_anchor: row.monthly_usage_anchor,
|
|
177
|
+
entitlements: row.entitlements,
|
|
178
|
+
content_checksum: row.snapshot_content_checksum,
|
|
179
|
+
source_subscription_id: row.source_subscription_id,
|
|
180
|
+
source_subscription_version: row.source_subscription_version,
|
|
181
|
+
verified_at: row.verified_at,
|
|
182
|
+
created_at: row.snapshot_created_at,
|
|
183
|
+
};
|
|
184
|
+
try {
|
|
185
|
+
const snapshot = entitlementSnapshotRowToRecord(snapshotRow);
|
|
186
|
+
if (snapshot.schemaVersion !== 2 ||
|
|
187
|
+
snapshot.version !== row.snapshot_version ||
|
|
188
|
+
snapshot.sourceSubscriptionId !== row.source_subscription_id ||
|
|
189
|
+
snapshot.sourceSubscriptionVersion !== row.source_subscription_version) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
return snapshot;
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function positiveBigInt(value) {
|
|
199
|
+
if (!/^[1-9][0-9]*$/.test(value)) {
|
|
200
|
+
throw new Error('billing overage counter must be positive');
|
|
201
|
+
}
|
|
202
|
+
return BigInt(value);
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=postgres-overage-window-close.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-overage-window-close.js","sourceRoot":"","sources":["../../src/billing/postgres-overage-window-close.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare function startShadowBillingObservation(options: {
|
|
|
18
18
|
readonly startedAt: string;
|
|
19
19
|
readonly logger: Logger;
|
|
20
20
|
}): Promise<void>;
|
|
21
|
-
/** Build the fail-open shadow observer
|
|
21
|
+
/** Build the fail-open shadow observer at the once-per-governed-tool-call admission boundary. */
|
|
22
22
|
export declare function createShadowBillingObserver(options: ShadowBillingDispatchOptions): BillingUsageObserver;
|
|
23
23
|
/** The existing v1 observer as a pre-derived sink for the dual-ledger validation mirror. */
|
|
24
24
|
export declare function createShadowBillingSink(options: Omit<ShadowBillingDispatchOptions, 'hmacKey'>): ShadowBillingSink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-meter.d.ts","sourceRoot":"","sources":["../../src/billing/shadow-meter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,4BAA4B,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,2GAA2G;AAC3G,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB;AAED,
|
|
1
|
+
{"version":3,"file":"shadow-meter.d.ts","sourceRoot":"","sources":["../../src/billing/shadow-meter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,KAAK,4BAA4B,EAElC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wFAAwF;IACxF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,4BAA4B,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,2GAA2G;AAC3G,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB;AAED,iGAAiG;AACjG,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,4BAA4B,GACpC,oBAAoB,CAkBtB;AAED,4FAA4F;AAC5F,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GACrD,iBAAiB,CAyBnB"}
|
|
@@ -15,7 +15,7 @@ export async function startShadowBillingObservation(options) {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
/** Build the fail-open shadow observer
|
|
18
|
+
/** Build the fail-open shadow observer at the once-per-governed-tool-call admission boundary. */
|
|
19
19
|
export function createShadowBillingObserver(options) {
|
|
20
20
|
const deriveIdentity = createBillingUsageIdentityDeriver(options.hmacKey);
|
|
21
21
|
const sink = createShadowBillingSink(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-meter.js","sourceRoot":"","sources":["../../src/billing/shadow-meter.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iCAAiC,GAClC,MAAM,qBAAqB,CAAC;AAc7B,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAOlC,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,OAInD;IACC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EAClF,wBAAwB,CACzB,CAAC;IACF,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACvD,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"shadow-meter.js","sourceRoot":"","sources":["../../src/billing/shadow-meter.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ export interface HttpHandlerOptions {
|
|
|
56
56
|
readonly captureRequestEvent?: (event: RequestEventInput) => void;
|
|
57
57
|
/** Resolve one immutable context snapshot after auth/admission and before request execution. */
|
|
58
58
|
readonly resolveInvocationContext?: InvocationContextResolver;
|
|
59
|
-
/** Hosted tool-
|
|
59
|
+
/** Hosted tool-call admission hook. Absent/incomplete tenant targets are deliberately not observed. */
|
|
60
60
|
readonly beforeToolDispatch?: HostedToolDispatchHook;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EACV,UAAU,EAGV,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AASvD,OAAO,EAAE,KAAK,sBAAsB,EAA0B,MAAM,oBAAoB,CAAC;AAEzF,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,2BAA2B,EAC3B,kBAAkB,EAClB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAE7E,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,gCAAgC,KACpC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,2BAA2B,CAAC;IAClE;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClE,gGAAgG;IAChG,QAAQ,CAAC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;IAC9D,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ interface HostedToolDispatchTarget {
|
|
|
21
21
|
readonly environment: string | undefined;
|
|
22
22
|
readonly deploymentId: string | undefined;
|
|
23
23
|
}
|
|
24
|
-
/** Attach hosted facts only after auth
|
|
24
|
+
/** Attach hosted facts only after auth for the runtime's once-per-tool-call usage admission. */
|
|
25
25
|
export declare function withHostedToolDispatch(req: IncomingMessage, context: ProtocolRequestContext, target: HostedToolDispatchTarget): ProtocolRequestContext;
|
|
26
26
|
export {};
|
|
27
27
|
//# sourceMappingURL=tool-dispatch.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { header } from './request-capture.js';
|
|
2
|
-
/** Attach hosted facts only after auth
|
|
2
|
+
/** Attach hosted facts only after auth for the runtime's once-per-tool-call usage admission. */
|
|
3
3
|
export function withHostedToolDispatch(req, context, target) {
|
|
4
4
|
const hook = target.beforeToolDispatch;
|
|
5
5
|
if (hook === undefined ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/one",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.58.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
|
|
6
6
|
"license": "Apache-2.0",
|