acl-core-ts 1.75.1

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 (79) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +129 -0
  3. package/dist/client.d.ts +51 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +536 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +27 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +84 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/exceptions.d.ts +32 -0
  12. package/dist/exceptions.d.ts.map +1 -0
  13. package/dist/exceptions.js +99 -0
  14. package/dist/exceptions.js.map +1 -0
  15. package/dist/http.d.ts +21 -0
  16. package/dist/http.d.ts.map +1 -0
  17. package/dist/http.js +75 -0
  18. package/dist/http.js.map +1 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +22 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/middlewares/base.d.ts +5 -0
  24. package/dist/middlewares/base.d.ts.map +1 -0
  25. package/dist/middlewares/base.js +3 -0
  26. package/dist/middlewares/base.js.map +1 -0
  27. package/dist/middlewares/loop_detection.d.ts +9 -0
  28. package/dist/middlewares/loop_detection.d.ts.map +1 -0
  29. package/dist/middlewares/loop_detection.js +53 -0
  30. package/dist/middlewares/loop_detection.js.map +1 -0
  31. package/dist/middlewares/normalization.d.ts +5 -0
  32. package/dist/middlewares/normalization.d.ts.map +1 -0
  33. package/dist/middlewares/normalization.js +37 -0
  34. package/dist/middlewares/normalization.js.map +1 -0
  35. package/dist/middlewares/recovery.d.ts +17 -0
  36. package/dist/middlewares/recovery.d.ts.map +1 -0
  37. package/dist/middlewares/recovery.js +198 -0
  38. package/dist/middlewares/recovery.js.map +1 -0
  39. package/dist/middlewares/retry.d.ts +5 -0
  40. package/dist/middlewares/retry.d.ts.map +1 -0
  41. package/dist/middlewares/retry.js +39 -0
  42. package/dist/middlewares/retry.js.map +1 -0
  43. package/dist/providers/anthropic.d.ts +7 -0
  44. package/dist/providers/anthropic.d.ts.map +1 -0
  45. package/dist/providers/anthropic.js +77 -0
  46. package/dist/providers/anthropic.js.map +1 -0
  47. package/dist/providers/base.d.ts +22 -0
  48. package/dist/providers/base.d.ts.map +1 -0
  49. package/dist/providers/base.js +3 -0
  50. package/dist/providers/base.js.map +1 -0
  51. package/dist/providers/google.d.ts +7 -0
  52. package/dist/providers/google.d.ts.map +1 -0
  53. package/dist/providers/google.js +89 -0
  54. package/dist/providers/google.js.map +1 -0
  55. package/dist/providers/index.d.ts +8 -0
  56. package/dist/providers/index.d.ts.map +1 -0
  57. package/dist/providers/index.js +29 -0
  58. package/dist/providers/index.js.map +1 -0
  59. package/dist/providers/openai.d.ts +7 -0
  60. package/dist/providers/openai.d.ts.map +1 -0
  61. package/dist/providers/openai.js +82 -0
  62. package/dist/providers/openai.js.map +1 -0
  63. package/dist/security.d.ts +2 -0
  64. package/dist/security.d.ts.map +1 -0
  65. package/dist/security.js +18 -0
  66. package/dist/security.js.map +1 -0
  67. package/dist/session/manager.d.ts +21 -0
  68. package/dist/session/manager.d.ts.map +1 -0
  69. package/dist/session/manager.js +94 -0
  70. package/dist/session/manager.js.map +1 -0
  71. package/dist/similarity/engine.d.ts +15 -0
  72. package/dist/similarity/engine.d.ts.map +1 -0
  73. package/dist/similarity/engine.js +109 -0
  74. package/dist/similarity/engine.js.map +1 -0
  75. package/dist/types.d.ts +128 -0
  76. package/dist/types.d.ts.map +1 -0
  77. package/dist/types.js +3 -0
  78. package/dist/types.js.map +1 -0
  79. package/package.json +54 -0
package/LICENSE ADDED
@@ -0,0 +1,24 @@
1
+ ACL SDK PROPRIETARY LICENSE
2
+ Copyright (c) 2026 ACL Team. All rights reserved.
3
+
4
+ This SDK is proprietary software and is licensed, not sold.
5
+
6
+ Permitted use:
7
+ - Use only to access ACL services with a valid ACL-issued API key.
8
+ - Internal use by authorized users and systems under your organization.
9
+
10
+ Not permitted without prior written permission from ACL Team:
11
+ - Redistribute, sublicense, resell, rent, lease, or transfer this SDK.
12
+ - Modify, create derivative works, reverse engineer, decompile, or disassemble this SDK.
13
+ - Use this SDK to build or operate a competing service.
14
+
15
+ No open-source grant:
16
+ - No rights are granted under any open-source license.
17
+
18
+ Termination:
19
+ - Any violation of these terms immediately terminates your license to use this SDK.
20
+
21
+ Disclaimer:
22
+ - The SDK is provided "as is" without warranties of any kind, to the maximum extent permitted by law.
23
+
24
+ For commercial or redistribution permissions, contact: support@fridayaicore.in
package/README.md ADDED
@@ -0,0 +1,129 @@
1
+ # ACL TypeScript SDK (`acl-core-ts`)
2
+
3
+ Official TypeScript SDK for Adaptive Context Layer (ACL).
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install acl-core-ts
9
+ ```
10
+
11
+ ## AI Agent Install And Infra Setup
12
+
13
+ Use this flow when agents/dev tools install and run ACL in production:
14
+
15
+ 1. Install SDK
16
+
17
+ ```bash
18
+ npm install acl-core-ts@latest
19
+ ```
20
+
21
+ 2. Set environment variables (domain only, never raw server IP)
22
+
23
+ ```bash
24
+ # Public ACL endpoint behind your domain/reverse proxy
25
+ export ACL_BASE_URL="https://backend.yourcompany.com"
26
+
27
+ # Org-scoped ACL key from ACL dashboard
28
+ export ACL_API_KEY="acl_live_xxx"
29
+
30
+ # Provider key stays only with your app/agent runtime
31
+ export OPENAI_API_KEY="sk-xxx"
32
+ ```
33
+
34
+ 3. Initialize client using env vars
35
+
36
+ ```ts
37
+ import { ACLClient } from 'acl-core-ts';
38
+
39
+ const client = new ACLClient({
40
+ apiKey: process.env.ACL_API_KEY!,
41
+ baseUrl: process.env.ACL_BASE_URL!,
42
+ });
43
+ ```
44
+
45
+ Security notes:
46
+ - Do not hardcode keys in source code.
47
+ - Do not expose EC2/public IP in SDK config; always use DNS/domain.
48
+ - Rotate keys immediately if logs/screenshots accidentally leak them.
49
+ - Keep backend behind TLS (`https`) and firewall to trusted ports only.
50
+
51
+ ## Quick Start
52
+
53
+ ```ts
54
+ import { ACLClient } from 'acl-core-ts';
55
+
56
+ const client = new ACLClient({ apiKey: 'acl_live_...' });
57
+
58
+ const result = await client.complete({
59
+ prompt: 'Summarize this incident report.',
60
+ model: 'gpt-4o',
61
+ llm_api_key: 'sk-...',
62
+ max_retries: 3,
63
+ });
64
+
65
+ if (result.success) {
66
+ console.log(result.response);
67
+ } else {
68
+ console.error(`${result.error_code}: ${result.error_message}`);
69
+ }
70
+ ```
71
+
72
+ ## Latency Controls (v1.75.1)
73
+
74
+ `new ACLClient(...)` supports these runtime options:
75
+
76
+ - `emitPostCompletionTelemetry` (default: `true`): post-completion telemetry is non-blocking.
77
+ - `precheckCacheTtlMs` (default: `20000`): short TTL cache for adaptive precheck calls.
78
+ - `precheckCacheMaxEntries` (default: `256`): max in-memory precheck cache entries.
79
+
80
+ Every `complete()` response now includes timing metadata under `metadata.acl_timing`:
81
+
82
+ - `precheck_ms`
83
+ - `provider_ms`
84
+ - `post_telemetry_ms`
85
+ - `wall_clock_ms`
86
+
87
+ ## Runtime Contract
88
+
89
+ `complete()` always returns a stable top-level response shape on both success and failure:
90
+
91
+ - `success`
92
+ - `error_code`
93
+ - `error_message`
94
+ - `provider`
95
+ - `model`
96
+ - `text` and `response`
97
+
98
+ ## Validation and Safety
99
+
100
+ - Fail-fast validation for invalid/missing `prompt`, unresolved `model`, missing keys, and malformed provider key formats.
101
+ - Strict provider payload allowlist prevents internal ACL params from leaking to provider APIs.
102
+ - Secrets are redacted from surfaced error messages by default.
103
+ - Production default ACL base URL is `http://backend.fridayaicore.in`.
104
+
105
+ ## Retry Behavior
106
+
107
+ - Retries happen in SDK provider execution middleware (`complete()` path).
108
+ - Exponential backoff with jitter and cap:
109
+ - attempt 1: random delay `0-0.5s`
110
+ - attempt 2: random delay `0-1s`
111
+ - attempt 3: random delay `0-2s`
112
+ - max cap per attempt: `8s`
113
+
114
+ ## Compatibility Policy
115
+
116
+ - Node.js: `>=16`
117
+ - Module output: CommonJS (`dist/index.js`)
118
+ - Types: bundled `.d.ts` in `dist/`
119
+ - Release policy: include migration notes whenever response contract or validation behavior changes.
120
+
121
+ ## Usage Terms
122
+
123
+ - This SDK is proprietary and licensed for ACL service access only.
124
+ - A valid ACL API key is required.
125
+ - Redistribution, resale, sublicensing, and derivative redistribution are not permitted without written approval from ACL Team.
126
+
127
+ ## License
128
+
129
+ UNLICENSED / Proprietary. See `LICENSE`.
@@ -0,0 +1,51 @@
1
+ import { AdaptiveWindowParams, ACLClientOptions, AdaptiveResponse, ACLTelemetry, CompleteResponse, CompleteParams } from './types';
2
+ import { BaseProvider } from './providers/base';
3
+ import { SessionPolicy } from './session/manager';
4
+ export declare class ACLClient {
5
+ private readonly config;
6
+ private readonly httpClient;
7
+ private isClosed;
8
+ private readonly sessionManager;
9
+ private readonly middlewares;
10
+ private readonly defaultMaxRetries;
11
+ private readonly secureLogging;
12
+ private readonly emitPostCompletionTelemetry;
13
+ private readonly precheckCacheTtlMs;
14
+ private readonly precheckCacheMaxEntries;
15
+ private readonly precheckCache;
16
+ constructor(options: ACLClientOptions & {
17
+ sessionPolicy?: SessionPolicy;
18
+ sessionLimit?: number;
19
+ });
20
+ registerProvider(name: string, providerClass: new () => BaseProvider): void;
21
+ adaptiveWindow(params: AdaptiveWindowParams & {
22
+ integration_mode?: string;
23
+ }): Promise<AdaptiveResponse>;
24
+ complete(params: CompleteParams): Promise<CompleteResponse>;
25
+ private _detectClientModel;
26
+ getProviderMetadata(): Promise<any>;
27
+ getTelemetry(response: any): ACLTelemetry;
28
+ close(): void;
29
+ closeAllSessions(): void;
30
+ closeSession(sessionId: string): void;
31
+ private validateCompleteInputs;
32
+ private validateProviderKey;
33
+ private getProviderParams;
34
+ private errorCodeFromError;
35
+ private buildErrorResponse;
36
+ private ensureNotClosed;
37
+ private _syncInternalState;
38
+ private attachTimingMetadata;
39
+ private buildPrecheckCacheKey;
40
+ private hashPrompt;
41
+ private getCachedPrecheck;
42
+ private setCachedPrecheck;
43
+ private getPrecheckResponse;
44
+ private dispatchCompletionTelemetry;
45
+ private syncCompletionTelemetry;
46
+ private emitRecoveryEvents;
47
+ private buildProviderMetadata;
48
+ private postEvent;
49
+ private requestLoopVerdict;
50
+ }
51
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACf,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQlE,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAU;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiE;gBAEnF,OAAO,EAAE,gBAAgB,GAAG;QAAE,aAAa,CAAC,EAAE,aAAa,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAqDzF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,YAAY,GAAG,IAAI;IAQ5E,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAevG,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+LjE,OAAO,CAAC,kBAAkB;IA4BpB,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;IAezC,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY;IAWzC,KAAK,IAAI,IAAI;IAKb,gBAAgB,IAAI,IAAI;IAOxB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;YAaX,mBAAmB;IAcjC,OAAO,CAAC,2BAA2B;YAOrB,uBAAuB;YA0CvB,kBAAkB;IAkChC,OAAO,CAAC,qBAAqB;YAYf,SAAS;YAST,kBAAkB;CASjC"}