@axonflow/sdk 7.1.0 → 8.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 (48) hide show
  1. package/README.md +39 -15
  2. package/dist/cjs/client.d.ts +35 -3
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +123 -19
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/errors.d.ts +46 -1
  7. package/dist/cjs/errors.d.ts.map +1 -1
  8. package/dist/cjs/errors.js +32 -10
  9. package/dist/cjs/errors.js.map +1 -1
  10. package/dist/cjs/heartbeat.d.ts +1 -1
  11. package/dist/cjs/heartbeat.js +1 -1
  12. package/dist/cjs/index.d.ts +2 -1
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/telemetry.d.ts +67 -6
  16. package/dist/cjs/telemetry.d.ts.map +1 -1
  17. package/dist/cjs/telemetry.js +95 -22
  18. package/dist/cjs/telemetry.js.map +1 -1
  19. package/dist/cjs/types/config.d.ts +26 -16
  20. package/dist/cjs/types/config.d.ts.map +1 -1
  21. package/dist/cjs/types/decisions.d.ts +37 -0
  22. package/dist/cjs/types/decisions.d.ts.map +1 -1
  23. package/dist/cjs/version.d.ts +1 -1
  24. package/dist/cjs/version.js +1 -1
  25. package/dist/esm/client.d.ts +35 -3
  26. package/dist/esm/client.d.ts.map +1 -1
  27. package/dist/esm/client.js +123 -20
  28. package/dist/esm/client.js.map +1 -1
  29. package/dist/esm/errors.d.ts +46 -1
  30. package/dist/esm/errors.d.ts.map +1 -1
  31. package/dist/esm/errors.js +32 -10
  32. package/dist/esm/errors.js.map +1 -1
  33. package/dist/esm/heartbeat.d.ts +1 -1
  34. package/dist/esm/heartbeat.js +1 -1
  35. package/dist/esm/index.d.ts +2 -1
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/telemetry.d.ts +67 -6
  39. package/dist/esm/telemetry.d.ts.map +1 -1
  40. package/dist/esm/telemetry.js +92 -22
  41. package/dist/esm/telemetry.js.map +1 -1
  42. package/dist/esm/types/config.d.ts +26 -16
  43. package/dist/esm/types/config.d.ts.map +1 -1
  44. package/dist/esm/types/decisions.d.ts +37 -0
  45. package/dist/esm/types/decisions.d.ts.map +1 -1
  46. package/dist/esm/version.d.ts +1 -1
  47. package/dist/esm/version.js +1 -1
  48. package/package.json +1 -1
@@ -30,12 +30,18 @@ export interface AxonFlowConfig {
30
30
  mode?: 'sandbox' | 'production';
31
31
  /**
32
32
  * Tenant identifier for multi-tenant deployments.
33
- * This specifies WHICH organization context.
34
- * Separate from authentication identity (clientId).
35
33
  *
36
- * @deprecated Using tenant without clientId is deprecated.
37
- * For authentication, use clientId/clientSecret instead.
38
- * Keep tenant only for multi-tenant routing context.
34
+ * @deprecated Since v8.1.0 (v9 identity cleanup, Epic
35
+ * getaxonflow/axonflow-enterprise#2230). Use `clientId` for both
36
+ * authentication identity and tenant routing — the platform now
37
+ * derives tenant scope from the authenticated client_id rather than
38
+ * a separate tenant field. The `tenant` field is preserved for
39
+ * back-compat through the v8.x line and will be REMOVED in v10.
40
+ *
41
+ * Migration: replace `tenant: "your-tenant"` with
42
+ * `clientId: "your-tenant"` (or, if you also have credentials,
43
+ * `clientId: "your-tenant", clientSecret: "..."`). Wire-level
44
+ * `tenant_id` JSON fields on request payloads remain unchanged.
39
45
  */
40
46
  tenant?: string;
41
47
  /**
@@ -55,7 +61,12 @@ export interface AxonFlowConfig {
55
61
  */
56
62
  mapTimeout?: number;
57
63
  /**
58
- * Retry configuration
64
+ * @deprecated The SDK does not implement HTTP retries. This field is accepted
65
+ * for backward compatibility and silently ignored. If you need retries for
66
+ * transient infra errors (5xx, network), wrap the SDK call in your own retry
67
+ * helper — but do NOT retry on `AuthenticationError`
68
+ * (see [getaxonflow/axonflow-enterprise#2275](https://github.com/getaxonflow/axonflow-enterprise/issues/2275)).
69
+ * This field will be removed in v10.
59
70
  */
60
71
  retry?: {
61
72
  enabled: boolean;
@@ -69,17 +80,16 @@ export interface AxonFlowConfig {
69
80
  enabled: boolean;
70
81
  ttl?: number;
71
82
  };
72
- /**
73
- * Enable or disable anonymous usage telemetry.
74
- *
75
- * When undefined, defaults to ON for production mode and OFF for sandbox mode.
76
- * Set explicitly to `true` or `false` to override the default.
77
- *
78
- * Telemetry can also be disabled globally via the
79
- * `AXONFLOW_TELEMETRY=off` environment variable.
80
- */
81
- telemetry?: boolean;
82
83
  }
84
+ /**
85
+ * @deprecated The SDK does not implement HTTP retries. This type is exported
86
+ * for backward compatibility with code that imports it; configuring it on
87
+ * `AxonFlowConfig.retry` has no effect at runtime. If you need retries for
88
+ * transient infra errors (5xx, network), wrap the SDK call in your own retry
89
+ * helper — but do NOT retry on `AuthenticationError`
90
+ * (see [getaxonflow/axonflow-enterprise#2275](https://github.com/getaxonflow/axonflow-enterprise/issues/2275)).
91
+ * This type will be removed in v10.
92
+ */
83
93
  export interface RetryConfig {
84
94
  enabled: boolean;
85
95
  maxAttempts: number;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAEhC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IAEF;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAEhC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -45,4 +45,41 @@ export interface DecisionExplanation {
45
45
  policySourceLink?: string;
46
46
  toolSignature?: string;
47
47
  }
48
+ /**
49
+ * Slim 5-field row returned by {@link AxonFlowClient.listDecisions}.
50
+ *
51
+ * `policyId` and `toolSignature` are optional because pre-α1 audit rows +
52
+ * dynamic-only blocks may not populate them. Additive new fields land via
53
+ * optional properties per ADR-043 §"Versioning" (non-breaking).
54
+ *
55
+ * Cross-SDK parity:
56
+ * Go: axonflow-sdk-go/decisions.go (DecisionSummary)
57
+ * Python: axonflow-sdk-python/axonflow/decisions.py (DecisionSummary)
58
+ * Java: .../sdk/types/DecisionSummary.java
59
+ * Rust: axonflow-sdk-rust/src/types/decisions.rs (DecisionSummary)
60
+ */
61
+ export interface DecisionSummary {
62
+ decisionId: string;
63
+ timestamp: Date;
64
+ /** allow | deny | require_approval */
65
+ decision: string;
66
+ policyId?: string;
67
+ toolSignature?: string;
68
+ }
69
+ /**
70
+ * Optional filters for {@link AxonFlowClient.listDecisions}.
71
+ *
72
+ * Every field is optional; `undefined` values are omitted from the URL so
73
+ * the platform applies its tier-default page. `decision` must be one of
74
+ * `'allow' | 'deny' | 'require_approval'` when set. `limit` is server-
75
+ * capped per tier; over-cap requests yield a 429 with the V1 upgrade
76
+ * envelope (surfaced as {@link RateLimitError} carrying `upgrade`).
77
+ */
78
+ export interface ListDecisionsOptions {
79
+ since?: Date;
80
+ decision?: string;
81
+ policyId?: string;
82
+ toolSignature?: string;
83
+ limit?: number;
84
+ }
48
85
  //# sourceMappingURL=decisions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/types/decisions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/types/decisions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -7,5 +7,5 @@
7
7
  * During tests, Jest runs source directly and the test suite verifies
8
8
  * this value matches package.json.
9
9
  */
10
- export declare const VERSION = "7.1.0";
10
+ export declare const VERSION = "8.1.0";
11
11
  //# sourceMappingURL=version.d.ts.map
@@ -8,5 +8,5 @@
8
8
  * this value matches package.json.
9
9
  */
10
10
  // AUTO-GENERATED — do not edit. Run `npm run stamp-version` to update.
11
- export const VERSION = '7.1.0';
11
+ export const VERSION = '8.1.0';
12
12
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axonflow/sdk",
3
- "version": "7.1.0",
3
+ "version": "8.1.0",
4
4
  "description": "AxonFlow SDK - Add invisible AI governance to your applications in 3 lines of code",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",