@once-agent/sdk 0.1.3 → 0.1.5

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 (38) hide show
  1. package/README.md +62 -3
  2. package/dist/cli.js +13 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +29 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +245 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/decision.d.ts +39 -0
  9. package/dist/runtime/decision.d.ts.map +1 -0
  10. package/dist/runtime/decision.js +102 -0
  11. package/dist/runtime/decision.js.map +1 -0
  12. package/dist/runtime/fetch-interceptor.d.ts +66 -0
  13. package/dist/runtime/fetch-interceptor.d.ts.map +1 -0
  14. package/dist/runtime/fetch-interceptor.js +151 -0
  15. package/dist/runtime/fetch-interceptor.js.map +1 -0
  16. package/dist/runtime/identity.d.ts +23 -0
  17. package/dist/runtime/identity.d.ts.map +1 -0
  18. package/dist/runtime/identity.js +191 -0
  19. package/dist/runtime/identity.js.map +1 -0
  20. package/dist/runtime/pipeline.d.ts +25 -0
  21. package/dist/runtime/pipeline.d.ts.map +1 -0
  22. package/dist/runtime/pipeline.js +121 -0
  23. package/dist/runtime/pipeline.js.map +1 -0
  24. package/dist/setup.d.ts +2 -0
  25. package/dist/setup.d.ts.map +1 -1
  26. package/dist/setup.js +101 -8
  27. package/dist/setup.js.map +1 -1
  28. package/dist-cjs/index.js +255 -2
  29. package/dist-cjs/index.js.map +1 -1
  30. package/dist-cjs/runtime/decision.js +105 -0
  31. package/dist-cjs/runtime/decision.js.map +1 -0
  32. package/dist-cjs/runtime/fetch-interceptor.js +157 -0
  33. package/dist-cjs/runtime/fetch-interceptor.js.map +1 -0
  34. package/dist-cjs/runtime/identity.js +194 -0
  35. package/dist-cjs/runtime/identity.js.map +1 -0
  36. package/dist-cjs/runtime/pipeline.js +124 -0
  37. package/dist-cjs/runtime/pipeline.js.map +1 -0
  38. package/package.json +12 -3
@@ -0,0 +1,121 @@
1
+ import { decideHttpExecution } from "./decision.js";
2
+ import { resolveHttpOperationIdentity } from "./identity.js";
3
+ export function prepareHttpExecution(request) {
4
+ const identity = resolveHttpOperationIdentity({
5
+ method: request.method,
6
+ url: request.url,
7
+ operationId: request.operationId,
8
+ headers: request.headers,
9
+ body: request.body
10
+ });
11
+ const resolvedOperationId = identity.status === "FOUND"
12
+ ? identity.operationId
13
+ : undefined;
14
+ const gate = decideHttpExecution({
15
+ surface: "http",
16
+ method: request.method,
17
+ url: request.url,
18
+ provider: request.provider,
19
+ operationId: resolvedOperationId
20
+ });
21
+ /*
22
+ * Safe reads pass normally and do not require
23
+ * stable operation identity.
24
+ */
25
+ if (gate.decision === "PASS") {
26
+ return {
27
+ decision: gate.decision,
28
+ code: gate.code,
29
+ consequential: gate.consequential,
30
+ method: gate.method,
31
+ reason: gate.reason,
32
+ identityStatus: identity.status
33
+ };
34
+ }
35
+ /*
36
+ * Structural failures take precedence.
37
+ */
38
+ if (gate.code === "INVALID_URL" ||
39
+ gate.code === "UNSUPPORTED_PROTOCOL" ||
40
+ gate.code === "UNSUPPORTED_HTTP_METHOD") {
41
+ return {
42
+ decision: gate.decision,
43
+ code: gate.code,
44
+ consequential: gate.consequential,
45
+ method: gate.method,
46
+ reason: gate.reason,
47
+ identityStatus: identity.status
48
+ };
49
+ }
50
+ /*
51
+ * Never choose between conflicting identities.
52
+ */
53
+ if (identity.status === "CONFLICT") {
54
+ return {
55
+ decision: "BLOCK",
56
+ code: "IDENTITY_CONFLICT",
57
+ consequential: true,
58
+ method: gate.method,
59
+ reason: identity.reason,
60
+ identityStatus: identity.status
61
+ };
62
+ }
63
+ /*
64
+ * Provider is required for protected execution.
65
+ */
66
+ if (gate.code === "MISSING_PROVIDER") {
67
+ return {
68
+ decision: "BLOCK",
69
+ code: "MISSING_PROVIDER",
70
+ consequential: true,
71
+ method: gate.method,
72
+ reason: gate.reason,
73
+ identityStatus: identity.status,
74
+ ...(identity.status === "FOUND"
75
+ ? {
76
+ operationId: identity.operationId,
77
+ identitySource: identity.source
78
+ }
79
+ : {})
80
+ };
81
+ }
82
+ /*
83
+ * Consequential writes without trustworthy
84
+ * stable identity fail closed.
85
+ */
86
+ if (identity.status === "REQUIRED") {
87
+ return {
88
+ decision: "BLOCK",
89
+ code: "IDENTITY_REQUIRED",
90
+ consequential: true,
91
+ method: gate.method,
92
+ reason: identity.reason,
93
+ identityStatus: identity.status
94
+ };
95
+ }
96
+ /*
97
+ * FOUND identity + provider must result in
98
+ * protected execution.
99
+ */
100
+ if (gate.decision !== "PROTECT") {
101
+ return {
102
+ decision: "BLOCK",
103
+ code: gate.code,
104
+ consequential: true,
105
+ method: gate.method,
106
+ reason: "Runtime reached an unexpected execution state and failed closed.",
107
+ identityStatus: identity.status
108
+ };
109
+ }
110
+ return {
111
+ decision: "PROTECT",
112
+ code: gate.code,
113
+ consequential: true,
114
+ method: gate.method,
115
+ reason: gate.reason,
116
+ operationId: identity.operationId,
117
+ identitySource: identity.source,
118
+ identityStatus: identity.status
119
+ };
120
+ }
121
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/runtime/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -3,6 +3,8 @@ type SetupOptions = {
3
3
  autoConfirm?: boolean;
4
4
  planOnly?: boolean;
5
5
  skipInstall?: boolean;
6
+ runtimeHttp?: boolean;
7
+ runtimeHttpTargetUrl?: string;
6
8
  };
7
9
  export declare function acquireApiKeyThroughActivation(rl: readline.Interface): Promise<string>;
8
10
  export declare function runSetup(requestedPath: string, options?: SetupOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAgB9C,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8fF,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,QAAQ,CAAC,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC,CA2UjB;AAsWD,wBAAsB,QAAQ,CAC5B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA8iBf"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAgB9C,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AA8fF,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,QAAQ,CAAC,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC,CA2UjB;AAieD,wBAAsB,QAAQ,CAC5B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA6nBf"}
package/dist/setup.js CHANGED
@@ -438,7 +438,7 @@ async function verifyApiKey(baseUrl, apiKey) {
438
438
  throw new Error("Once Doctor returned an unexpected safety-probe result.");
439
439
  }
440
440
  }
441
- async function registerProvider(baseUrl, apiKey, name, providerUrl, token) {
441
+ async function registerProvider(baseUrl, apiKey, name, providerUrl, token, runtimeHttpTargetUrl) {
442
442
  const response = await fetch(`${baseUrl}/v1/providers`, {
443
443
  method: "POST",
444
444
  headers: {
@@ -449,7 +449,15 @@ async function registerProvider(baseUrl, apiKey, name, providerUrl, token) {
449
449
  name,
450
450
  type: "http_v1",
451
451
  base_url: providerUrl,
452
- token
452
+ token,
453
+ ...(runtimeHttpTargetUrl
454
+ ? {
455
+ response_replay: "required",
456
+ allowed_urls: [
457
+ runtimeHttpTargetUrl
458
+ ]
459
+ }
460
+ : {})
453
461
  })
454
462
  });
455
463
  let body = {};
@@ -471,6 +479,11 @@ async function registerProvider(baseUrl, apiKey, name, providerUrl, token) {
471
479
  if (!versionId) {
472
480
  throw new Error("Provider registration did not return a version ID.");
473
481
  }
482
+ if (runtimeHttpTargetUrl &&
483
+ body.response_replay !==
484
+ "required") {
485
+ throw new Error("Provider registration did not confirm required HTTP response replay capability.");
486
+ }
474
487
  return {
475
488
  name,
476
489
  version_id: versionId,
@@ -527,7 +540,7 @@ async function persistApiKey(root, apiKey) {
527
540
  ".env\n", "utf8");
528
541
  }
529
542
  }
530
- async function writeOnceConfig(root, baseUrl, providerName, providerUrl, versionId) {
543
+ async function writeOnceConfig(root, baseUrl, providerName, providerUrl, versionId, runtimeHttpTargetUrl) {
531
544
  const onceDirectory = path.join(root, ".once");
532
545
  await fs.mkdir(onceDirectory, {
533
546
  recursive: true
@@ -539,12 +552,57 @@ async function writeOnceConfig(root, baseUrl, providerName, providerUrl, version
539
552
  name: providerName,
540
553
  type: "http_v1",
541
554
  base_url: providerUrl,
542
- version_id: versionId
555
+ version_id: versionId,
556
+ ...(runtimeHttpTargetUrl
557
+ ? {
558
+ response_replay: "required",
559
+ allowed_urls: [
560
+ runtimeHttpTargetUrl
561
+ ]
562
+ }
563
+ : {})
543
564
  }
544
565
  };
545
566
  await fs.writeFile(path.join(onceDirectory, "config.json"), JSON.stringify(config, null, 2) + "\n", "utf8");
546
567
  }
547
- function printQuickstart(providerName) {
568
+ function printQuickstart(providerName, runtimeHttpTargetUrl) {
569
+ if (runtimeHttpTargetUrl) {
570
+ console.log("");
571
+ console.log("YOUR FIRST RUNTIME-PROTECTED FETCH");
572
+ console.log("----------------------------------");
573
+ console.log("");
574
+ console.log("Save this as app.mjs:");
575
+ console.log("");
576
+ console.log('import { createOnceRuntimeFetch } from "@once-agent/sdk";');
577
+ console.log("");
578
+ console.log("const onceFetch = createOnceRuntimeFetch({");
579
+ console.log(` provider: ${JSON.stringify(providerName)}`);
580
+ console.log("});");
581
+ console.log("");
582
+ console.log("async function main() {");
583
+ console.log(` const response = await onceFetch(${JSON.stringify(runtimeHttpTargetUrl)}, {`);
584
+ console.log(' method: "POST",');
585
+ console.log(" headers: {");
586
+ console.log(' "content-type": "application/json",');
587
+ console.log(' "idempotency-key": "your-stable-business-id"');
588
+ console.log(" },");
589
+ console.log(" body: JSON.stringify({");
590
+ console.log(" example: true");
591
+ console.log(" })");
592
+ console.log(" });");
593
+ console.log("");
594
+ console.log(" console.log(response.status);");
595
+ console.log(" console.log(await response.text());");
596
+ console.log("}");
597
+ console.log("");
598
+ console.log("main().catch(console.error);");
599
+ console.log("");
600
+ console.log("For vanilla Node with the .env created by setup:");
601
+ console.log(" node --env-file=.env app.mjs");
602
+ console.log("");
603
+ console.log("Rule: retry the same real-world action with the same idempotency key.");
604
+ return;
605
+ }
548
606
  console.log("");
549
607
  console.log("YOUR FIRST PROTECTED CALL");
550
608
  console.log("-------------------------");
@@ -772,6 +830,41 @@ export async function runSetup(requestedPath, options = {}) {
772
830
  if (!providerUrl) {
773
831
  throw new Error("Provider base URL is required.");
774
832
  }
833
+ let runtimeHttpTargetUrl = "";
834
+ if (options.runtimeHttp) {
835
+ runtimeHttpTargetUrl =
836
+ String(options.runtimeHttpTargetUrl ||
837
+ process.env.ONCE_SETUP_RUNTIME_TARGET_URL ||
838
+ (rl
839
+ ? await rl.question("Protected target HTTPS URL: ")
840
+ : "")).trim();
841
+ if (!runtimeHttpTargetUrl) {
842
+ throw new Error("Runtime HTTP setup requires an exact protected target URL. Use --runtime-http=<https-url> or ONCE_SETUP_RUNTIME_TARGET_URL.");
843
+ }
844
+ let parsedRuntimeTarget;
845
+ try {
846
+ parsedRuntimeTarget =
847
+ new URL(runtimeHttpTargetUrl);
848
+ }
849
+ catch {
850
+ throw new Error("Runtime HTTP target URL is invalid.");
851
+ }
852
+ if (parsedRuntimeTarget.protocol !==
853
+ "https:") {
854
+ throw new Error("Runtime HTTP target URL must use HTTPS.");
855
+ }
856
+ if (parsedRuntimeTarget.username ||
857
+ parsedRuntimeTarget.password ||
858
+ parsedRuntimeTarget.hash) {
859
+ throw new Error("Runtime HTTP target URL cannot contain credentials or a fragment.");
860
+ }
861
+ parsedRuntimeTarget.searchParams.sort();
862
+ runtimeHttpTargetUrl =
863
+ parsedRuntimeTarget
864
+ .toString();
865
+ console.log("");
866
+ console.log(`Runtime HTTP replay target: ${runtimeHttpTargetUrl}`);
867
+ }
775
868
  let providerToken = String(process.env.ONCE_SETUP_PROVIDER_TOKEN ||
776
869
  "").trim();
777
870
  if (!providerToken) {
@@ -787,17 +880,17 @@ export async function runSetup(requestedPath, options = {}) {
787
880
  }
788
881
  console.log("");
789
882
  console.log(`Registering provider "${providerName}"...`);
790
- const provider = await registerProvider(baseUrl, apiKey, providerName, providerUrl, providerToken);
883
+ const provider = await registerProvider(baseUrl, apiKey, providerName, providerUrl, providerToken, runtimeHttpTargetUrl || undefined);
791
884
  providerToken = "";
792
885
  console.log(`Provider registered: ${provider.version_id}`);
793
- await writeOnceConfig(root, baseUrl, providerName, providerUrl, provider.version_id);
886
+ await writeOnceConfig(root, baseUrl, providerName, providerUrl, provider.version_id, runtimeHttpTargetUrl || undefined);
794
887
  console.log("Non-secret Once config written to .once/config.json.");
795
888
  await verifyApiKey(baseUrl, apiKey);
796
889
  console.log("Final Once Doctor probe passed.");
797
890
  console.log("");
798
891
  console.log("ONCE SETUP COMPLETE");
799
892
  console.log("No application source files were changed.");
800
- printQuickstart(providerName);
893
+ printQuickstart(providerName, runtimeHttpTargetUrl || undefined);
801
894
  if (findings.length > 0) {
802
895
  console.log("");
803
896
  console.log(`${findings.length} protection candidates are ready for review.`);
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}