apcore-js 0.21.0 → 0.21.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 (95) hide show
  1. package/dist/acl-file.d.ts +12 -0
  2. package/dist/acl-file.d.ts.map +1 -0
  3. package/dist/acl-file.js +46 -0
  4. package/dist/acl-file.js.map +1 -0
  5. package/dist/acl.d.ts.map +1 -1
  6. package/dist/acl.js +20 -37
  7. package/dist/acl.js.map +1 -1
  8. package/dist/bindings.d.ts.map +1 -1
  9. package/dist/bindings.js +2 -21
  10. package/dist/bindings.js.map +1 -1
  11. package/dist/browser/index.d.ts +77 -0
  12. package/dist/browser/index.d.ts.map +1 -0
  13. package/dist/browser/index.js +78 -0
  14. package/dist/browser/index.js.map +1 -0
  15. package/dist/builtin-steps.js +2 -2
  16. package/dist/builtin-steps.js.map +1 -1
  17. package/dist/client.d.ts +1 -1
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +12 -4
  20. package/dist/client.js.map +1 -1
  21. package/dist/config-defaults.d.ts +30 -0
  22. package/dist/config-defaults.d.ts.map +1 -0
  23. package/dist/config-defaults.js +83 -0
  24. package/dist/config-defaults.js.map +1 -0
  25. package/dist/config.d.ts +12 -7
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +27 -125
  28. package/dist/config.js.map +1 -1
  29. package/dist/generated/version.d.ts +1 -1
  30. package/dist/generated/version.js +1 -1
  31. package/dist/index.d.ts +8 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +11 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/middleware/tracing-otel-default.d.ts +16 -0
  36. package/dist/middleware/tracing-otel-default.d.ts.map +1 -0
  37. package/dist/middleware/tracing-otel-default.js +25 -0
  38. package/dist/middleware/tracing-otel-default.js.map +1 -0
  39. package/dist/middleware/tracing.d.ts.map +1 -1
  40. package/dist/middleware/tracing.js +9 -10
  41. package/dist/middleware/tracing.js.map +1 -1
  42. package/dist/registry/metadata-pure.d.ts +13 -0
  43. package/dist/registry/metadata-pure.d.ts.map +1 -0
  44. package/dist/registry/metadata-pure.js +67 -0
  45. package/dist/registry/metadata-pure.js.map +1 -0
  46. package/dist/registry/metadata.d.ts +8 -4
  47. package/dist/registry/metadata.d.ts.map +1 -1
  48. package/dist/registry/metadata.js +9 -70
  49. package/dist/registry/metadata.js.map +1 -1
  50. package/dist/registry/multi-class.d.ts +0 -31
  51. package/dist/registry/multi-class.d.ts.map +1 -1
  52. package/dist/registry/registry.d.ts +0 -8
  53. package/dist/registry/registry.d.ts.map +1 -1
  54. package/dist/registry/registry.js +2 -2
  55. package/dist/registry/registry.js.map +1 -1
  56. package/dist/registry/scanner.d.ts.map +1 -1
  57. package/dist/registry/scanner.js +3 -15
  58. package/dist/registry/scanner.js.map +1 -1
  59. package/dist/schema/loader-pure.d.ts +24 -0
  60. package/dist/schema/loader-pure.d.ts.map +1 -0
  61. package/dist/schema/loader-pure.js +153 -0
  62. package/dist/schema/loader-pure.js.map +1 -0
  63. package/dist/schema/loader.d.ts +14 -30
  64. package/dist/schema/loader.d.ts.map +1 -1
  65. package/dist/schema/loader.js +20 -201
  66. package/dist/schema/loader.js.map +1 -1
  67. package/dist/schema/ref-resolver.d.ts.map +1 -1
  68. package/dist/schema/ref-resolver.js +5 -19
  69. package/dist/schema/ref-resolver.js.map +1 -1
  70. package/dist/sys-modules/control.d.ts +0 -78
  71. package/dist/sys-modules/control.d.ts.map +1 -1
  72. package/dist/sys-modules/health.d.ts +0 -138
  73. package/dist/sys-modules/health.d.ts.map +1 -1
  74. package/dist/sys-modules/install.d.ts +12 -0
  75. package/dist/sys-modules/install.d.ts.map +1 -0
  76. package/dist/sys-modules/install.js +14 -0
  77. package/dist/sys-modules/install.js.map +1 -0
  78. package/dist/sys-modules/manifest.d.ts +1 -141
  79. package/dist/sys-modules/manifest.d.ts.map +1 -1
  80. package/dist/sys-modules/overrides-file.d.ts +14 -0
  81. package/dist/sys-modules/overrides-file.d.ts.map +1 -0
  82. package/dist/sys-modules/overrides-file.js +31 -0
  83. package/dist/sys-modules/overrides-file.js.map +1 -0
  84. package/dist/sys-modules/registration.d.ts.map +1 -1
  85. package/dist/sys-modules/registration.js +22 -12
  86. package/dist/sys-modules/registration.js.map +1 -1
  87. package/dist/sys-modules/toggle.d.ts +0 -70
  88. package/dist/sys-modules/toggle.d.ts.map +1 -1
  89. package/dist/sys-modules/usage.d.ts +1 -132
  90. package/dist/sys-modules/usage.d.ts.map +1 -1
  91. package/dist/utils/index.d.ts +2 -3
  92. package/dist/utils/index.d.ts.map +1 -1
  93. package/dist/utils/index.js +3 -11
  94. package/dist/utils/index.js.map +1 -1
  95. package/package.json +17 -5
@@ -1,136 +1,5 @@
1
1
  /**
2
2
  * System usage modules -- summary and single-module usage detail.
3
3
  */
4
- import type { Registry } from '../registry/registry.js';
5
- import type { UsageCollector } from '../observability/usage.js';
6
- /** @internal */
7
- export declare class UsageSummaryModule {
8
- readonly description = "All modules usage overview with trend detection";
9
- readonly annotations: {
10
- readonly: boolean;
11
- destructive: boolean;
12
- idempotent: boolean;
13
- requiresApproval: boolean;
14
- openWorld: boolean;
15
- streaming: boolean;
16
- cacheable: boolean;
17
- cacheTtl: number;
18
- cacheKeyFields: null;
19
- paginated: boolean;
20
- paginationStyle: "cursor";
21
- };
22
- readonly inputSchema: {
23
- type: "object";
24
- properties: {
25
- period: {
26
- type: "string";
27
- description: string;
28
- default: string;
29
- };
30
- };
31
- };
32
- readonly outputSchema: {
33
- type: "object";
34
- properties: {
35
- period: {
36
- type: "string";
37
- description: string;
38
- };
39
- total_calls: {
40
- type: "integer";
41
- description: string;
42
- };
43
- total_errors: {
44
- type: "integer";
45
- description: string;
46
- };
47
- modules: {
48
- type: "array";
49
- description: string;
50
- };
51
- };
52
- required: string[];
53
- };
54
- private readonly _collector;
55
- constructor(collector: UsageCollector);
56
- execute(inputs: Record<string, unknown>, _context: unknown): Record<string, unknown>;
57
- }
58
- /** @internal */
59
- export declare class UsageModule {
60
- readonly description = "Detailed usage statistics for a single module";
61
- readonly annotations: {
62
- readonly: boolean;
63
- destructive: boolean;
64
- idempotent: boolean;
65
- requiresApproval: boolean;
66
- openWorld: boolean;
67
- streaming: boolean;
68
- cacheable: boolean;
69
- cacheTtl: number;
70
- cacheKeyFields: null;
71
- paginated: boolean;
72
- paginationStyle: "cursor";
73
- };
74
- readonly inputSchema: {
75
- type: "object";
76
- properties: {
77
- module_id: {
78
- type: "string";
79
- description: string;
80
- };
81
- period: {
82
- type: "string";
83
- description: string;
84
- default: string;
85
- };
86
- };
87
- required: string[];
88
- };
89
- readonly outputSchema: {
90
- type: "object";
91
- properties: {
92
- module_id: {
93
- type: "string";
94
- description: string;
95
- };
96
- period: {
97
- type: "string";
98
- description: string;
99
- };
100
- call_count: {
101
- type: "integer";
102
- description: string;
103
- };
104
- error_count: {
105
- type: "integer";
106
- description: string;
107
- };
108
- avg_latency_ms: {
109
- type: "number";
110
- description: string;
111
- };
112
- p99_latency_ms: {
113
- type: "number";
114
- description: string;
115
- };
116
- trend: {
117
- type: "string";
118
- description: string;
119
- };
120
- callers: {
121
- type: "array";
122
- description: string;
123
- };
124
- hourly_distribution: {
125
- type: "array";
126
- description: string;
127
- };
128
- };
129
- required: string[];
130
- };
131
- private readonly _registry;
132
- private readonly _collector;
133
- constructor(registry: Registry, usageCollector: UsageCollector);
134
- execute(inputs: Record<string, unknown>, _context: unknown): Record<string, unknown>;
135
- }
4
+ export {};
136
5
  //# sourceMappingURL=usage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/sys-modules/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAmChE,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,qDAAqD;IACzE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;MAKlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;MASnB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,SAAS,EAAE,cAAc;IAIrC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAsBrF;AAED,gBAAgB;AAChB,qBAAa,WAAW;IACtB,QAAQ,CAAC,WAAW,mDAAmD;IACvE,QAAQ,CAAC,WAAW;;;;;;;;;;;;MAAoO;IACxP,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;MAOlB;IACF,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcnB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAEhC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc;IAK9D,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmCrF"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/sys-modules/usage.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -6,9 +6,8 @@ export declare function deepCopy<T>(obj: T): T;
6
6
  /**
7
7
  * Generate a random hex string of the given byte length.
8
8
  *
9
- * Uses the Web Crypto API (`crypto.getRandomValues`) when available
10
- * (all modern browsers, Node.js ≥ 19), falling back to `node:crypto`
11
- * for Node.js < 19.
9
+ * Uses the Web Crypto API (`crypto.getRandomValues`), available as
10
+ * `globalThis.crypto` in all modern browsers and Node.js ≥ 19.
12
11
  */
13
12
  export declare function randomHex(byteLength: number): string;
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAapD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAYpD"}
@@ -2,30 +2,22 @@ export { matchPattern, calculateSpecificity } from './pattern.js';
2
2
  export { normalizeToCanonicalId } from './normalize.js';
3
3
  export { guardCallChain, DEFAULT_MAX_CALL_DEPTH, DEFAULT_MAX_MODULE_REPEAT } from './call-chain.js';
4
4
  export { propagateError } from './error-propagation.js';
5
- // Lazy-load node:crypto for environments without globalThis.crypto (Node.js < 19)
6
- let _nodeCrypto;
7
- try {
8
- _nodeCrypto = await import('node:crypto');
9
- }
10
- catch { /* browser environment */ }
11
5
  export function deepCopy(obj) {
12
6
  return JSON.parse(JSON.stringify(obj));
13
7
  }
14
8
  /**
15
9
  * Generate a random hex string of the given byte length.
16
10
  *
17
- * Uses the Web Crypto API (`crypto.getRandomValues`) when available
18
- * (all modern browsers, Node.js ≥ 19), falling back to `node:crypto`
19
- * for Node.js < 19.
11
+ * Uses the Web Crypto API (`crypto.getRandomValues`), available as
12
+ * `globalThis.crypto` in all modern browsers and Node.js ≥ 19.
20
13
  */
21
14
  export function randomHex(byteLength) {
22
15
  const bytes = new Uint8Array(byteLength);
23
- const c = globalThis.crypto ?? _nodeCrypto?.webcrypto;
16
+ const c = globalThis.crypto;
24
17
  if (c) {
25
18
  c.getRandomValues(bytes);
26
19
  }
27
20
  else {
28
- // Last-resort fallback for environments without crypto (e.g., legacy Node without webcrypto)
29
21
  console.warn('[apcore:utils] crypto unavailable — falling back to Math.random for randomHex (not cryptographically secure)');
30
22
  for (let i = 0; i < bytes.length; i++) {
31
23
  bytes[i] = Math.floor(Math.random() * 256);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,kFAAkF;AAClF,IAAI,WAAqD,CAAC;AAC1D,IAAI,CAAC;IAAC,WAAW,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;AAEtF,MAAM,UAAU,QAAQ,CAAI,GAAM;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,WAAW,EAAE,SAAS,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC;QACN,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,6FAA6F;QAC7F,OAAO,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;QAC7H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,UAAU,QAAQ,CAAI,GAAM;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,UAAkB;IAC1C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC;QACN,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;QAC7H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC"}
package/package.json CHANGED
@@ -1,17 +1,29 @@
1
1
  {
2
2
  "name": "apcore-js",
3
- "version": "0.21.0",
4
- "description": "AI-Perceivable Core schema-driven module standard",
3
+ "version": "0.21.1",
4
+ "description": "AI-Perceivable Core \u2014 schema-driven module standard",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
+ "browser": "./dist/browser/index.js",
7
8
  "types": "./dist/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
11
+ "types": {
12
+ "browser": "./dist/browser/index.d.ts",
13
+ "default": "./dist/index.d.ts"
14
+ },
15
+ "browser": "./dist/browser/index.js",
16
+ "node": "./dist/index.js",
17
+ "default": "./dist/index.js"
12
18
  }
13
19
  },
14
- "sideEffects": false,
20
+ "sideEffects": [
21
+ "./dist/index.js",
22
+ "./dist/acl-file.js",
23
+ "./dist/middleware/tracing-otel-default.js",
24
+ "./dist/sys-modules/install.js",
25
+ "./dist/sys-modules/overrides-file.js"
26
+ ],
15
27
  "files": [
16
28
  "dist",
17
29
  "README.md"