@astrasyncai/verification-gateway 5.10.0 → 5.12.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 (106) hide show
  1. package/README.md +4 -0
  2. package/dist/adapters/express.d.mts +1 -1
  3. package/dist/adapters/express.d.ts +1 -1
  4. package/dist/adapters/express.js +359 -30
  5. package/dist/adapters/express.js.map +1 -1
  6. package/dist/adapters/express.mjs +359 -30
  7. package/dist/adapters/express.mjs.map +1 -1
  8. package/dist/adapters/mcp.d.mts +5 -1
  9. package/dist/adapters/mcp.d.ts +5 -1
  10. package/dist/adapters/mcp.js +168 -41
  11. package/dist/adapters/mcp.js.map +1 -1
  12. package/dist/adapters/mcp.mjs +168 -41
  13. package/dist/adapters/mcp.mjs.map +1 -1
  14. package/dist/adapters/nextjs.d.mts +1 -1
  15. package/dist/adapters/nextjs.d.ts +1 -1
  16. package/dist/adapters/nextjs.js +352 -13
  17. package/dist/adapters/nextjs.js.map +1 -1
  18. package/dist/adapters/nextjs.mjs +352 -13
  19. package/dist/adapters/nextjs.mjs.map +1 -1
  20. package/dist/adapters/sdk.d.mts +9 -1
  21. package/dist/adapters/sdk.d.ts +9 -1
  22. package/dist/adapters/sdk.js +100 -8
  23. package/dist/adapters/sdk.js.map +1 -1
  24. package/dist/adapters/sdk.mjs +100 -8
  25. package/dist/adapters/sdk.mjs.map +1 -1
  26. package/dist/agent/index.js +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/index.mjs +1 -1
  29. package/dist/agent/index.mjs.map +1 -1
  30. package/dist/bin/astrasync-claude-hook.js +805 -16
  31. package/dist/bin/astrasync-codex-hook.js +805 -16
  32. package/dist/bin/astrasync-guard.js +894 -71
  33. package/dist/bin/astrasync.js +951 -74
  34. package/dist/browser/background.js +284 -7
  35. package/dist/browser/background.js.map +1 -1
  36. package/dist/browser/background.mjs +284 -7
  37. package/dist/browser/background.mjs.map +1 -1
  38. package/dist/cli/index.d.mts +8 -8
  39. package/dist/cli/index.d.ts +8 -8
  40. package/dist/cli/index.js +22 -64
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/index.mjs +22 -64
  43. package/dist/cli/index.mjs.map +1 -1
  44. package/dist/codex/index.d.mts +5 -0
  45. package/dist/codex/index.d.ts +5 -0
  46. package/dist/codex/index.js +821 -24
  47. package/dist/codex/index.js.map +1 -1
  48. package/dist/codex/index.mjs +823 -26
  49. package/dist/codex/index.mjs.map +1 -1
  50. package/dist/cursor/extension.d.mts +9 -2
  51. package/dist/cursor/extension.d.ts +9 -2
  52. package/dist/cursor/extension.js +787 -11
  53. package/dist/cursor/extension.js.map +1 -1
  54. package/dist/cursor/extension.mjs +789 -11
  55. package/dist/cursor/extension.mjs.map +1 -1
  56. package/dist/edge-config.d.mts +1 -1
  57. package/dist/edge-config.d.ts +1 -1
  58. package/dist/edge-config.js +1 -1
  59. package/dist/edge-config.js.map +1 -1
  60. package/dist/edge-config.mjs +1 -1
  61. package/dist/edge-config.mjs.map +1 -1
  62. package/dist/edge-core/index.d.mts +128 -13
  63. package/dist/edge-core/index.d.ts +128 -13
  64. package/dist/edge-core/index.js +337 -55
  65. package/dist/edge-core/index.js.map +1 -1
  66. package/dist/edge-core/index.mjs +334 -55
  67. package/dist/edge-core/index.mjs.map +1 -1
  68. package/dist/enrolment-store-8DyaIOLe.d.mts +26 -0
  69. package/dist/enrolment-store-8DyaIOLe.d.ts +26 -0
  70. package/dist/gateway/gateway.js +284 -7
  71. package/dist/gateway/gateway.js.map +1 -1
  72. package/dist/gateway/gateway.mjs +284 -7
  73. package/dist/gateway/gateway.mjs.map +1 -1
  74. package/dist/git-trigger/git-hooks.d.mts +1 -1
  75. package/dist/git-trigger/git-hooks.d.ts +1 -1
  76. package/dist/index.d.mts +215 -5
  77. package/dist/index.d.ts +215 -5
  78. package/dist/index.js +3756 -80
  79. package/dist/index.js.map +1 -1
  80. package/dist/index.mjs +3748 -80
  81. package/dist/index.mjs.map +1 -1
  82. package/dist/platform-signatures.js +4 -1
  83. package/dist/platform-signatures.js.map +1 -1
  84. package/dist/platform-signatures.mjs +4 -1
  85. package/dist/platform-signatures.mjs.map +1 -1
  86. package/dist/registration/index.js +1 -1
  87. package/dist/registration/index.js.map +1 -1
  88. package/dist/registration/index.mjs +1 -1
  89. package/dist/registration/index.mjs.map +1 -1
  90. package/dist/transport/index.js +1 -1
  91. package/dist/transport/index.js.map +1 -1
  92. package/dist/transport/index.mjs +1 -1
  93. package/dist/transport/index.mjs.map +1 -1
  94. package/dist/{types-CTmUpNpS.d.mts → types-BCkwBA84.d.mts} +12 -0
  95. package/dist/{types-CTmUpNpS.d.ts → types-BCkwBA84.d.ts} +12 -0
  96. package/dist/{types-CtFXmDzm.d.ts → types-C_b4QTyO.d.ts} +18 -0
  97. package/dist/{types-DQrn_kei.d.mts → types-DlshIIR-.d.mts} +18 -0
  98. package/dist/ui/index.d.mts +1 -1
  99. package/dist/ui/index.d.ts +1 -1
  100. package/dist/verify.d.mts +35 -4
  101. package/dist/verify.d.ts +35 -4
  102. package/dist/verify.js +130 -16
  103. package/dist/verify.js.map +1 -1
  104. package/dist/verify.mjs +129 -16
  105. package/dist/verify.mjs.map +1 -1
  106. package/package.json +1 -1
@@ -97,9 +97,14 @@ declare function inferFromGitignore(content: string): string[];
97
97
  * 1. Validate existing setup and check for prior upgrade
98
98
  * 2. Open browser for KYD registration
99
99
  * 3. Validate API key before proceeding
100
- * 4. Upload local policy to cloud (YAML -> cloud PDLSS, 1:1 mapping)
101
- * 5. Register agent and receive ASTRA-ID
102
- * 6. Choose mode (online or hybrid) and switch gateway
100
+ * 4. Link the ASTRA- agent this guard acts as (registered in the dashboard)
101
+ * 5. Choose mode (online or hybrid) and switch gateway
102
+ *
103
+ * 5.11.0: the old step 4 POSTed the local policy to
104
+ * /api/v1/agents/policies/upload — a route the platform never had, so every
105
+ * upgrade failed there. A developer's local policy no longer becomes cloud
106
+ * policy (organisation policy is central — see fleet mode); the agent's own
107
+ * PDLSS is declared when it is registered.
103
108
  *
104
109
  * Also supports event-triggered upgrade prompts when counterparties
105
110
  * reject unverified agents.
@@ -175,11 +180,6 @@ declare class UpgradeFlow {
175
180
  * Validate the API key by calling the platform.
176
181
  */
177
182
  private validateApiKey;
178
- /**
179
- * Upload local policy to the AstraSync cloud.
180
- * YAML -> cloud PDLSS boundary, 1:1 mapping, no lossy transformation.
181
- */
182
- private uploadPolicy;
183
183
  /**
184
184
  * Write the config file for the chosen mode.
185
185
  */
@@ -97,9 +97,14 @@ declare function inferFromGitignore(content: string): string[];
97
97
  * 1. Validate existing setup and check for prior upgrade
98
98
  * 2. Open browser for KYD registration
99
99
  * 3. Validate API key before proceeding
100
- * 4. Upload local policy to cloud (YAML -> cloud PDLSS, 1:1 mapping)
101
- * 5. Register agent and receive ASTRA-ID
102
- * 6. Choose mode (online or hybrid) and switch gateway
100
+ * 4. Link the ASTRA- agent this guard acts as (registered in the dashboard)
101
+ * 5. Choose mode (online or hybrid) and switch gateway
102
+ *
103
+ * 5.11.0: the old step 4 POSTed the local policy to
104
+ * /api/v1/agents/policies/upload — a route the platform never had, so every
105
+ * upgrade failed there. A developer's local policy no longer becomes cloud
106
+ * policy (organisation policy is central — see fleet mode); the agent's own
107
+ * PDLSS is declared when it is registered.
103
108
  *
104
109
  * Also supports event-triggered upgrade prompts when counterparties
105
110
  * reject unverified agents.
@@ -175,11 +180,6 @@ declare class UpgradeFlow {
175
180
  * Validate the API key by calling the platform.
176
181
  */
177
182
  private validateApiKey;
178
- /**
179
- * Upload local policy to the AstraSync cloud.
180
- * YAML -> cloud PDLSS boundary, 1:1 mapping, no lossy transformation.
181
- */
182
- private uploadPolicy;
183
183
  /**
184
184
  * Write the config file for the chosen mode.
185
185
  */
package/dist/cli/index.js CHANGED
@@ -3734,7 +3734,7 @@ function inferFromGitignore(content) {
3734
3734
  }
3735
3735
 
3736
3736
  // src/version.ts
3737
- var SDK_VERSION = "5.10.0";
3737
+ var SDK_VERSION = "5.12.0";
3738
3738
 
3739
3739
  // src/http.ts
3740
3740
  var SDK_USER_AGENT = `astrasync-sdk/${SDK_VERSION}`;
@@ -3814,27 +3814,23 @@ var UpgradeFlow = class {
3814
3814
  */
3815
3815
  async continueUpgrade(apiKey, kydId) {
3816
3816
  const { print, prompt } = this.callbacks;
3817
- print("\n[3/5] Migrate local policy to cloud");
3818
- print(` Policy: ${this.config.policyPath}`);
3819
- print(` Name: ${this.config.policy.name}`);
3820
- print(` Rules: ${this.config.policy.purposes.length} purpose rules`);
3821
- if (this.config.policy.scope) {
3822
- const scope = this.config.policy.scope;
3823
- const domains = [
3824
- ...(scope.allowedDomains || []).length ? [`${scope.allowedDomains.length} allowed`] : [],
3825
- ...(scope.blockedDomains || []).length ? [`${scope.blockedDomains.length} blocked`] : []
3826
- ];
3827
- if (domains.length) print(` Scope: ${domains.join(", ")} domains`);
3828
- }
3829
- print("");
3830
- print(" Uploading YAML -> Cloud PDLSS boundary...");
3831
- const uploadResult = await this.uploadPolicy(apiKey);
3832
- if (!uploadResult.success) {
3833
- print(` Upload failed: ${uploadResult.error}`);
3834
- return uploadResult;
3835
- }
3836
- print(" Policy uploaded. Same rules, now with trust scoring and audit.");
3837
- print(` Agent registered: ${uploadResult.agentId}`);
3817
+ print("\n[3/5] Link your agent");
3818
+ print(
3819
+ ` Local policy ${this.config.policyPath} stays on this machine (${this.config.policy.purposes.length} purpose rules).`
3820
+ );
3821
+ print(" Register the agent in the AstraSync dashboard (or with `astrasync register`) and");
3822
+ print(" paste its ASTRA- id so synced decisions are attributed to it.\n");
3823
+ const agentInput = (await prompt(" Agent ASTRA- id (Enter to skip): ")).trim();
3824
+ let agentId;
3825
+ if (agentInput) {
3826
+ if (!/^ASTRA-[A-Za-z0-9_-]+$/.test(agentInput)) {
3827
+ return { success: false, error: `Not an ASTRA- agent id: ${agentInput}` };
3828
+ }
3829
+ agentId = agentInput;
3830
+ print(` Agent: ${agentId}`);
3831
+ } else {
3832
+ print(" No agent linked \u2014 decisions sync under your API key only.");
3833
+ }
3838
3834
  if (kydId) {
3839
3835
  print(` Developer: ${kydId}`);
3840
3836
  }
@@ -3845,23 +3841,23 @@ var UpgradeFlow = class {
3845
3841
  const mode = modeInput.trim().toLowerCase() === "online" ? "online" : "hybrid";
3846
3842
  print(`
3847
3843
  [5/5] Activating ${mode} verification`);
3848
- await this.writeLocalConfig(apiKey, uploadResult.agentId, mode, kydId);
3844
+ await this.writeLocalConfig(apiKey, agentId, mode, kydId);
3849
3845
  print(` Config written to ${this.configDir}/config`);
3850
3846
  print(` Mode: ${mode}`);
3851
3847
  print(" Done!\n");
3852
- print(` Your agent (${uploadResult.agentId}) is verified on the AstraSync network.`);
3848
+ if (agentId) print(` Your agent (${agentId}) is verified on the AstraSync network.`);
3853
3849
  if (mode === "hybrid") {
3854
3850
  print(" Local evaluation active for speed. Cloud sync for audit and trust scoring.");
3855
3851
  } else {
3856
3852
  print(" Trust scoring, audit trails, and blockchain recording are active.");
3857
3853
  }
3858
3854
  print(`
3859
- Dashboard: ${this.platformUrl}/agents/${uploadResult.agentId}
3855
+ Dashboard: ${this.platformUrl}/agents${agentId ? `/${agentId}` : ""}
3860
3856
  `);
3861
3857
  return {
3862
3858
  success: true,
3863
3859
  apiKey,
3864
- agentId: uploadResult.agentId,
3860
+ agentId,
3865
3861
  kydId,
3866
3862
  mode
3867
3863
  };
@@ -3914,44 +3910,6 @@ var UpgradeFlow = class {
3914
3910
  return { valid: true, error: `Could not reach platform (proceeding anyway)` };
3915
3911
  }
3916
3912
  }
3917
- /**
3918
- * Upload local policy to the AstraSync cloud.
3919
- * YAML -> cloud PDLSS boundary, 1:1 mapping, no lossy transformation.
3920
- */
3921
- async uploadPolicy(apiKey) {
3922
- const policyYaml = toYaml(this.config.policy);
3923
- try {
3924
- const response = await sdkFetch(`${this.platformUrl}/api/v1/agents/policies/upload`, {
3925
- method: "POST",
3926
- headers: {
3927
- "Content-Type": "application/json",
3928
- Authorization: `Bearer ${apiKey}`
3929
- },
3930
- body: JSON.stringify({
3931
- policy: policyYaml,
3932
- policyObject: this.config.policy,
3933
- format: "yaml",
3934
- source: "local-guard-upgrade",
3935
- name: this.config.policy.name
3936
- })
3937
- });
3938
- if (!response.ok) {
3939
- const body = await response.text();
3940
- return { success: false, error: `Upload failed (${response.status}): ${body}` };
3941
- }
3942
- const data = await response.json();
3943
- return {
3944
- success: true,
3945
- agentId: data.agentId || "ASTRA-PENDING",
3946
- kydId: data.kydId
3947
- };
3948
- } catch (err) {
3949
- return {
3950
- success: false,
3951
- error: `Network error: ${err instanceof Error ? err.message : String(err)}`
3952
- };
3953
- }
3954
- }
3955
3913
  /**
3956
3914
  * Write the config file for the chosen mode.
3957
3915
  */