scientific-protocol 0.1.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.
Files changed (34) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -0
  3. package/dist/generated/contracts.d.ts +31442 -0
  4. package/dist/generated/contracts.js +10623 -0
  5. package/dist/sdk/client.d.ts +376 -0
  6. package/dist/sdk/client.js +427 -0
  7. package/dist/sdk/index.d.ts +8 -0
  8. package/dist/sdk/index.js +7 -0
  9. package/dist/sdk/rewards.d.ts +42 -0
  10. package/dist/sdk/rewards.js +84 -0
  11. package/dist/sdk/types.d.ts +300 -0
  12. package/dist/sdk/types.js +1 -0
  13. package/dist/shared/agent-request-envelope.d.ts +40 -0
  14. package/dist/shared/agent-request-envelope.js +51 -0
  15. package/dist/shared/artifact-storage-attestations.d.ts +64 -0
  16. package/dist/shared/artifact-storage-attestations.js +104 -0
  17. package/dist/shared/artifact-storage-bundles.d.ts +44 -0
  18. package/dist/shared/artifact-storage-bundles.js +124 -0
  19. package/dist/shared/artifact-storage-policy.d.ts +38 -0
  20. package/dist/shared/artifact-storage-policy.js +47 -0
  21. package/dist/shared/contracts.d.ts +30 -0
  22. package/dist/shared/contracts.js +46 -0
  23. package/dist/shared/deployment.d.ts +52 -0
  24. package/dist/shared/deployment.js +156 -0
  25. package/dist/shared/secrets.d.ts +6 -0
  26. package/dist/shared/secrets.js +30 -0
  27. package/dist/shared/sha256.d.ts +2 -0
  28. package/dist/shared/sha256.js +4 -0
  29. package/package.json +103 -0
  30. package/schemas/artifact-storage-attestation.schema.json +116 -0
  31. package/schemas/artifact-storage-bundle.schema.json +107 -0
  32. package/schemas/claim.schema.json +83 -0
  33. package/schemas/evaluation.schema.json +96 -0
  34. package/schemas/replication.schema.json +103 -0
@@ -0,0 +1,376 @@
1
+ import type { AdminStatusResponse, AgentRequestDetailResponse, AgentReviewCalibrationResponse, AgentRewardStateResponse, AgentRuntimeEventsResponse, AgentWebhookDeliveriesResponse, AgentWebhookSubscriptionCreateResponse, AgentWebhookSubscriptionDeleteResponse, AgentWebhookSubscriptionPingResponse, AgentWebhookSubscriptionsResponse, AgentWorkSummaryResponse, ArtifactMaintenanceTaskDetailResponse, ArtifactMaintenanceTaskRunView, ArtifactMaintenanceTaskView, CheckpointView, ClaimEventsResponse, ClaimFeedResponse, ClaimListQuery, ClaimReviewState, ClaimRewardStateResponse, ClaimView, ClaimWorkGraphResponse, ClaimWorkItemDetailResponse, ClaimWorkItemView, ConfirmSourcePublicationResponse, CreateDemoClaimRequest, DemoAdminStatusResponse, DemoMutationResponse, DemoScenariosResponse, DomainLeaderboardResponse, GovernanceEventsResponse, GovernanceOverviewResponse, GovernanceProposalDetailResponse, GovernanceProposalsResponse, GovernanceTreasuryResponse, HealthResponse, OpenDemoReplicationJobRequest, PagedResponse, PersistedArtifactDetailResponse, ProcessDemoReplicationJobRequest, RecipientRewardStateResponse, RejectSourcePublicationResponse, ReplicationJobDetailResponse, ReplicationJobRunView, ReplicationJobView, ReplicationView, ResolveDemoReplicationJobRequest, ReviewSubmissionView, ReviewTaskDetailResponse, ReviewTaskRunView, ReviewTaskView, RewardProtocolConfigResponse, RewardSettlementHistoryResponse, SignedAgentRequestBody, SignedPublicWriteRequestBody, SourceDetailResponse, SourceEventsResponse, SourceFeedResponse, SourceIngestionResponse, SourceListQuery, SourceListResponse, SourcePublicationDecisionsResponse, SourceWorkGraphResponse, WriteProtocolConfigResponse } from "./types.js";
2
+ export declare class ScientificProtocolApiError extends Error {
3
+ readonly body: unknown;
4
+ readonly response: Response;
5
+ readonly status: number;
6
+ constructor(response: Response, body: unknown);
7
+ }
8
+ export type ScientificProtocolClientOptions = {
9
+ baseUrl: string | URL;
10
+ demoAdminToken?: string;
11
+ fetch?: typeof fetch;
12
+ headers?: HeadersInit;
13
+ };
14
+ export declare class ScientificProtocolClient {
15
+ readonly baseUrl: string;
16
+ readonly demoAdminToken?: string;
17
+ private readonly defaultHeaders?;
18
+ private readonly fetchImpl;
19
+ constructor(options: ScientificProtocolClientOptions);
20
+ readonly demo: {
21
+ createClaim: (input: CreateDemoClaimRequest) => Promise<DemoMutationResponse<any>>;
22
+ enqueueArtifactAudits: (input?: {
23
+ requestedBy?: string;
24
+ staleAfterMinutes?: number;
25
+ }) => Promise<DemoMutationResponse<Record<string, unknown>>>;
26
+ getAdminStatus: () => Promise<DemoAdminStatusResponse>;
27
+ getScenarios: () => Promise<DemoScenariosResponse>;
28
+ openReplicationJob: (input: OpenDemoReplicationJobRequest) => Promise<DemoMutationResponse<any>>;
29
+ openArtifactMaintenanceTask: (input: {
30
+ artifactKey: string;
31
+ requestedBy?: string;
32
+ targetProvider?: string;
33
+ targetReplicaKey?: string;
34
+ taskType?: "audit" | "repair";
35
+ }) => Promise<DemoMutationResponse<Record<string, unknown>>>;
36
+ processReplicationJob: (jobId: string, input?: ProcessDemoReplicationJobRequest) => Promise<DemoMutationResponse<Record<string, unknown>>>;
37
+ recomputeDomain: (domainId: number) => Promise<DemoMutationResponse<any>>;
38
+ reseedOperational: () => Promise<DemoMutationResponse<Record<string, unknown>> & {
39
+ scenarios: unknown[];
40
+ }>;
41
+ resetDemo: () => Promise<DemoMutationResponse<Record<string, unknown>> & {
42
+ scenarios: unknown[];
43
+ }>;
44
+ resolveReplicationJob: (jobId: string, input?: ResolveDemoReplicationJobRequest) => Promise<DemoMutationResponse<Record<string, unknown>>>;
45
+ };
46
+ readonly production: {
47
+ createClaim: (signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<any>>;
48
+ createSource: (signedRequest: SignedPublicWriteRequestBody) => Promise<SourceIngestionResponse>;
49
+ createClaimDraftFromArtifact: (signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<any>>;
50
+ confirmSourcePublication: (sourceId: string | number, signedRequest: SignedPublicWriteRequestBody) => Promise<ConfirmSourcePublicationResponse>;
51
+ openReplicationJob: (claimId: string | number, signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<any>>;
52
+ rejectSourcePublication: (sourceId: string | number, signedRequest: SignedPublicWriteRequestBody) => Promise<RejectSourcePublicationResponse>;
53
+ processReplicationJob: (jobId: string | number, signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<Record<string, unknown>>>;
54
+ recomputeDomain: (domainId: number, signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<any>>;
55
+ resolveReplicationJob: (jobId: string | number, signedRequest: SignedPublicWriteRequestBody) => Promise<DemoMutationResponse<Record<string, unknown>>>;
56
+ };
57
+ readonly agent: {
58
+ claimArtifactMaintenanceTask: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
59
+ ok: true;
60
+ result: {
61
+ run: ArtifactMaintenanceTaskRunView;
62
+ task: ArtifactMaintenanceTaskView;
63
+ };
64
+ }>;
65
+ heartbeatArtifactMaintenanceTask: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
66
+ ok: true;
67
+ result: ArtifactMaintenanceTaskRunView;
68
+ }>;
69
+ submitArtifactAuditResults: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
70
+ ok: true;
71
+ result: Record<string, unknown>;
72
+ }>;
73
+ submitArtifactRepairResults: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
74
+ ok: true;
75
+ result: Record<string, unknown>;
76
+ }>;
77
+ claimReplicationJob: (jobId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
78
+ ok: true;
79
+ result: {
80
+ job: ReplicationJobView;
81
+ run: ReplicationJobRunView;
82
+ };
83
+ }>;
84
+ heartbeatReplicationJob: (jobId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
85
+ ok: true;
86
+ result: ReplicationJobRunView;
87
+ }>;
88
+ submitReplicationResults: (jobId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
89
+ ok: true;
90
+ result: {
91
+ job: ReplicationJobView;
92
+ operatorRequestId: string;
93
+ resultArtifactKey: string;
94
+ run: ReplicationJobRunView;
95
+ };
96
+ }>;
97
+ claimReviewTask: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
98
+ ok: true;
99
+ result: {
100
+ run: ReviewTaskRunView;
101
+ task: ReviewTaskView;
102
+ };
103
+ }>;
104
+ heartbeatReviewTask: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
105
+ ok: true;
106
+ result: ReviewTaskRunView;
107
+ }>;
108
+ submitReviewResults: (taskId: string | number, signedRequest: SignedAgentRequestBody) => Promise<{
109
+ ok: true;
110
+ result: {
111
+ submission: ReviewSubmissionView;
112
+ task: ReviewTaskView;
113
+ };
114
+ }>;
115
+ submitSource: (signedRequest: SignedAgentRequestBody) => Promise<SourceIngestionResponse>;
116
+ claimWorkItem: (itemId: string, signedRequest: SignedAgentRequestBody) => Promise<{
117
+ ok: true;
118
+ result: {
119
+ run: ArtifactMaintenanceTaskRunView;
120
+ task: ArtifactMaintenanceTaskView;
121
+ };
122
+ }> | Promise<{
123
+ ok: true;
124
+ result: {
125
+ job: ReplicationJobView;
126
+ run: ReplicationJobRunView;
127
+ };
128
+ }>;
129
+ heartbeatWorkItem: (itemId: string, signedRequest: SignedAgentRequestBody) => Promise<{
130
+ ok: true;
131
+ result: ArtifactMaintenanceTaskRunView;
132
+ }>;
133
+ submitWorkResults: (itemId: string, signedRequest: SignedAgentRequestBody) => Promise<{
134
+ ok: true;
135
+ result: Record<string, unknown>;
136
+ }> | Promise<{
137
+ ok: true;
138
+ result: {
139
+ job: ReplicationJobView;
140
+ operatorRequestId: string;
141
+ resultArtifactKey: string;
142
+ run: ReplicationJobRunView;
143
+ };
144
+ }> | Promise<{
145
+ ok: true;
146
+ result: {
147
+ submission: ReviewSubmissionView;
148
+ task: ReviewTaskView;
149
+ };
150
+ }>;
151
+ createWebhookSubscription: (signedRequest: SignedAgentRequestBody) => Promise<AgentWebhookSubscriptionCreateResponse>;
152
+ deleteWebhookSubscription: (subscriptionId: string | number, signedRequest: SignedAgentRequestBody) => Promise<AgentWebhookSubscriptionDeleteResponse>;
153
+ pingWebhookSubscription: (subscriptionId: string | number, signedRequest: SignedAgentRequestBody) => Promise<AgentWebhookSubscriptionPingResponse>;
154
+ };
155
+ getAdminStatus(): Promise<AdminStatusResponse>;
156
+ getGovernance(): Promise<GovernanceOverviewResponse>;
157
+ listGovernanceEvents(query?: {
158
+ limit?: number;
159
+ offset?: number;
160
+ proposalId?: string | number;
161
+ }): Promise<GovernanceEventsResponse>;
162
+ getGovernanceTreasury(query?: {
163
+ limit?: number;
164
+ offset?: number;
165
+ }): Promise<GovernanceTreasuryResponse>;
166
+ getGovernanceProposal(proposalId: string | number, query?: {
167
+ limit?: number;
168
+ offset?: number;
169
+ }): Promise<GovernanceProposalDetailResponse>;
170
+ listGovernanceProposals(query?: {
171
+ limit?: number;
172
+ offset?: number;
173
+ state?: "Active" | "Canceled" | "Defeated" | "Executed" | "Expired" | "Pending" | "Queued" | "Succeeded";
174
+ }): Promise<GovernanceProposalsResponse>;
175
+ getAgentRequest(requestId: string | number): Promise<AgentRequestDetailResponse>;
176
+ getAgentReviewCalibration(agentId: string | number, query?: {
177
+ limit?: number;
178
+ offset?: number;
179
+ }): Promise<AgentReviewCalibrationResponse>;
180
+ getAgentWorkSummary(agentId: string | number, query?: {
181
+ domainId?: number;
182
+ }): Promise<AgentWorkSummaryResponse>;
183
+ getAgentRewards(agentId: string | number, query?: {
184
+ limit?: number;
185
+ offset?: number;
186
+ policyVersion?: string;
187
+ workKind?: "challenge" | "forecast" | "maintenance" | "replication" | "review" | "synthesis";
188
+ }): Promise<AgentRewardStateResponse>;
189
+ getRewardSettlements(query?: {
190
+ agentId?: string | number;
191
+ claimId?: string | number;
192
+ itemId?: string;
193
+ limit?: number;
194
+ offset?: number;
195
+ policyVersion?: string;
196
+ recipient?: string;
197
+ workKind?: "challenge" | "forecast" | "maintenance" | "replication" | "review" | "synthesis";
198
+ }): Promise<RewardSettlementHistoryResponse>;
199
+ getRecipientRewards(recipient: string, query?: {
200
+ itemId?: string;
201
+ limit?: number;
202
+ offset?: number;
203
+ policyVersion?: string;
204
+ workKind?: "challenge" | "forecast" | "maintenance" | "replication" | "review" | "synthesis";
205
+ }): Promise<RecipientRewardStateResponse>;
206
+ getRewardConfig(): Promise<RewardProtocolConfigResponse>;
207
+ getWriteConfig(): Promise<WriteProtocolConfigResponse>;
208
+ getAgentRuntimeEvents(query?: {
209
+ agentId?: string | number;
210
+ claimId?: string | number;
211
+ limit?: number;
212
+ offset?: number;
213
+ since?: string;
214
+ }): Promise<AgentRuntimeEventsResponse>;
215
+ getAgentWebhookSubscription(subscriptionId: string | number): Promise<AgentWebhookSubscriptionsResponse["items"][number]>;
216
+ getAgentWebhookDelivery(deliveryId: string | number): Promise<AgentWebhookDeliveriesResponse["items"][number]>;
217
+ getAgentWebhookSubscriptions(query?: {
218
+ agentId?: string | number;
219
+ limit?: number;
220
+ offset?: number;
221
+ status?: "active" | "inactive";
222
+ }): Promise<AgentWebhookSubscriptionsResponse>;
223
+ getAgentWebhookDeliveries(query?: {
224
+ agentId?: string | number;
225
+ limit?: number;
226
+ offset?: number;
227
+ status?: "delivered" | "failed" | "pending" | "retrying";
228
+ subscriptionId?: string | number;
229
+ }): Promise<AgentWebhookDeliveriesResponse>;
230
+ getArtifactMaintenanceTask(taskId: string | number): Promise<ArtifactMaintenanceTaskDetailResponse>;
231
+ getCheckpointPublications(query?: {
232
+ domainId?: number;
233
+ limit?: number;
234
+ offset?: number;
235
+ status?: string;
236
+ subjectActor?: string;
237
+ subjectAgentId?: string;
238
+ subjectType?: number;
239
+ }): Promise<PagedResponse<Record<string, unknown>>>;
240
+ getClaim(claimId: string | number, options?: {
241
+ view?: "full" | "summary";
242
+ }): Promise<any>;
243
+ getClaimReview(claimId: string | number): Promise<ClaimReviewState>;
244
+ getClaimRewards(claimId: string | number, query?: {
245
+ limit?: number;
246
+ offset?: number;
247
+ policyVersion?: string;
248
+ workKind?: "challenge" | "forecast" | "maintenance" | "replication" | "review" | "synthesis";
249
+ }): Promise<ClaimRewardStateResponse>;
250
+ getClaimWorkGraph(claimId: string | number): Promise<ClaimWorkGraphResponse>;
251
+ getWorkItem(itemId: string, query?: {
252
+ claimId?: string | number;
253
+ sourceId?: string | number;
254
+ }): Promise<ClaimWorkItemDetailResponse>;
255
+ getDomainLeaderboard(domainId: string | number, query?: {
256
+ limit?: number;
257
+ offset?: number;
258
+ }): Promise<DomainLeaderboardResponse>;
259
+ getHealth(): Promise<HealthResponse>;
260
+ getReviewTask(taskId: string | number): Promise<ReviewTaskDetailResponse>;
261
+ getSource(sourceId: string | number): Promise<SourceDetailResponse>;
262
+ getSourcePublicationDecisions(sourceId: string | number, query?: {
263
+ limit?: number;
264
+ offset?: number;
265
+ shouldPublish?: boolean;
266
+ }): Promise<SourcePublicationDecisionsResponse>;
267
+ getSourceWorkGraph(sourceId: string | number): Promise<SourceWorkGraphResponse>;
268
+ listSourceFeed(query?: {
269
+ limit?: number;
270
+ offset?: number;
271
+ status?: "discovered" | "snapshotted" | "extracting" | "ready_for_publication" | "published" | "rejected";
272
+ }): Promise<SourceFeedResponse>;
273
+ listClaimFeed(query?: {
274
+ domainId?: number;
275
+ limit?: number;
276
+ machineProposed?: boolean;
277
+ offset?: number;
278
+ status?: number;
279
+ }): Promise<ClaimFeedResponse>;
280
+ listSourceEvents(query?: {
281
+ eventType?: "source.discovered" | "source.extracting_started" | "source.published" | "source.ready_for_publication" | "source.rejected" | "source.snapshotted";
282
+ limit?: number;
283
+ offset?: number;
284
+ sourceId?: string | number;
285
+ }): Promise<SourceEventsResponse>;
286
+ listClaimEvents(query?: {
287
+ claimId?: string | number;
288
+ domainId?: number;
289
+ limit?: number;
290
+ offset?: number;
291
+ }): Promise<ClaimEventsResponse>;
292
+ getOperatorRequests(query?: {
293
+ actionType?: string;
294
+ actor?: string;
295
+ limit?: number;
296
+ offset?: number;
297
+ operator?: string;
298
+ requestHash?: string;
299
+ }): Promise<PagedResponse<Record<string, unknown>>>;
300
+ getReplicationJob(jobId: string | number): Promise<ReplicationJobDetailResponse>;
301
+ getPersistedArtifact(artifactKey: string): Promise<PersistedArtifactDetailResponse>;
302
+ getPersistedArtifactContentUrl(artifactKey: string): string;
303
+ getPersistedArtifactAudits(artifactKey: string, query?: {
304
+ limit?: number;
305
+ offset?: number;
306
+ }): Promise<PagedResponse<Record<string, unknown>>>;
307
+ getPersistedArtifactMaintenanceTasks(artifactKey: string, query?: {
308
+ assignedAgentId?: string;
309
+ limit?: number;
310
+ offset?: number;
311
+ status?: "assigned" | "completed" | "failed" | "open";
312
+ targetReplicaKey?: string;
313
+ taskType?: "audit" | "repair";
314
+ }): Promise<PagedResponse<Record<string, unknown>>>;
315
+ getResolutionRun(runId: string | number): Promise<Record<string, unknown>>;
316
+ listClaims(query?: ClaimListQuery): Promise<PagedResponse<ClaimView>>;
317
+ listReplications(query?: {
318
+ agentId?: string;
319
+ claimId?: string;
320
+ confidenceBps?: number;
321
+ limit?: number;
322
+ offset?: number;
323
+ outcome?: number;
324
+ replicator?: string;
325
+ resolutionStatus?: number;
326
+ resolverType?: number;
327
+ }): Promise<PagedResponse<ReplicationView>>;
328
+ listCheckpoints(query?: {
329
+ claimId?: string;
330
+ domainId?: number;
331
+ limit?: number;
332
+ offset?: number;
333
+ subjectActor?: string;
334
+ subjectAgentId?: string;
335
+ subjectModule?: string;
336
+ subjectType?: number;
337
+ }): Promise<PagedResponse<CheckpointView>>;
338
+ listArtifactMaintenanceTasks(query?: {
339
+ artifactKey?: string;
340
+ assignedAgentId?: string;
341
+ limit?: number;
342
+ offset?: number;
343
+ status?: "assigned" | "completed" | "failed" | "open";
344
+ targetReplicaKey?: string;
345
+ taskType?: "audit" | "repair";
346
+ }): Promise<PagedResponse<Record<string, unknown>>>;
347
+ listReviewTasks(query?: {
348
+ claimId?: string;
349
+ limit?: number;
350
+ offset?: number;
351
+ sourceId?: string;
352
+ status?: "canceled" | "completed" | "escalated" | "open";
353
+ taskType?: "artifact_completeness_check" | "artifact_integrity_check" | "benchmark_rerun_check" | "certification_synthesis_check" | "claim_extraction_check" | "claim_extraction_synthesis_check" | "contradiction_scan" | "method_consistency_check" | "replication_readiness_check" | "stats_sanity_check";
354
+ }): Promise<PagedResponse<ReviewTaskView>>;
355
+ listSources(query?: SourceListQuery): Promise<SourceListResponse>;
356
+ listWorkItems(query?: {
357
+ claimId?: string | number;
358
+ claimable?: boolean;
359
+ kind?: "artifact_maintenance" | "replication_job" | "review_task";
360
+ lane?: "evaluation" | "execution" | "maintenance" | "synthesis";
361
+ limit?: number;
362
+ offset?: number;
363
+ sourceId?: string | number;
364
+ status?: "canceled" | "completed" | "escalated" | "failed" | "leased" | "open";
365
+ }): Promise<PagedResponse<ClaimWorkItemView>>;
366
+ listAgentRequests(query?: {
367
+ actionType?: string;
368
+ agentId?: string;
369
+ limit?: number;
370
+ offset?: number;
371
+ scopeKey?: string;
372
+ status?: "accepted" | "rejected";
373
+ }): Promise<PagedResponse<AgentRequestDetailResponse>>;
374
+ listScenarios(): Promise<DemoScenariosResponse>;
375
+ private request;
376
+ }