@jini-ai/core 0.4.0 → 0.4.2

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 (120) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +18 -1
  3. package/dist/agent-tools.d.ts +1 -0
  4. package/dist/approval.d.ts +134 -0
  5. package/dist/approval.js +141 -0
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.js +5 -0
  8. package/dist/model-facing-tool-errors.d.ts +152 -0
  9. package/dist/model-facing-tool-errors.js +124 -0
  10. package/dist/native-regexp.d.ts +10 -0
  11. package/dist/native-regexp.js +2 -0
  12. package/dist/primitives/index.d.ts +2 -0
  13. package/dist/primitives/index.js +1 -0
  14. package/dist/primitives/sse.d.ts +60 -0
  15. package/dist/primitives/sse.js +122 -0
  16. package/dist/redact.js +4 -3
  17. package/dist/registration-kit.d.ts +47 -0
  18. package/dist/registration-kit.js +55 -0
  19. package/dist/settings/agent-tools.d.ts +10 -0
  20. package/dist/settings/agent-tools.js +204 -0
  21. package/dist/settings/agent-value-write-tools.d.ts +22 -0
  22. package/dist/settings/agent-value-write-tools.js +157 -0
  23. package/dist/settings/agent-writable-preferences.d.ts +67 -0
  24. package/dist/settings/agent-writable-preferences.js +132 -0
  25. package/dist/settings/agent-write-denylist.d.ts +19 -0
  26. package/dist/settings/agent-write-denylist.js +15 -0
  27. package/dist/settings/change-feed.d.ts +83 -0
  28. package/dist/settings/change-feed.js +61 -0
  29. package/dist/settings/definitions-dispatch.d.ts +56 -0
  30. package/dist/settings/definitions-dispatch.js +86 -0
  31. package/dist/settings/dictionaries/index.d.ts +48 -0
  32. package/dist/settings/dictionaries/index.js +69 -0
  33. package/dist/settings/dictionaries/settings-dialog.ar.d.ts +3 -0
  34. package/dist/settings/dictionaries/settings-dialog.ar.js +27 -0
  35. package/dist/settings/dictionaries/settings-dialog.bn.d.ts +3 -0
  36. package/dist/settings/dictionaries/settings-dialog.bn.js +27 -0
  37. package/dist/settings/dictionaries/settings-dialog.de.d.ts +3 -0
  38. package/dist/settings/dictionaries/settings-dialog.de.js +27 -0
  39. package/dist/settings/dictionaries/settings-dialog.es.d.ts +3 -0
  40. package/dist/settings/dictionaries/settings-dialog.es.js +27 -0
  41. package/dist/settings/dictionaries/settings-dialog.fa.d.ts +3 -0
  42. package/dist/settings/dictionaries/settings-dialog.fa.js +27 -0
  43. package/dist/settings/dictionaries/settings-dialog.fr.d.ts +3 -0
  44. package/dist/settings/dictionaries/settings-dialog.fr.js +27 -0
  45. package/dist/settings/dictionaries/settings-dialog.hi.d.ts +3 -0
  46. package/dist/settings/dictionaries/settings-dialog.hi.js +27 -0
  47. package/dist/settings/dictionaries/settings-dialog.hu.d.ts +3 -0
  48. package/dist/settings/dictionaries/settings-dialog.hu.js +27 -0
  49. package/dist/settings/dictionaries/settings-dialog.id.d.ts +3 -0
  50. package/dist/settings/dictionaries/settings-dialog.id.js +27 -0
  51. package/dist/settings/dictionaries/settings-dialog.it.d.ts +3 -0
  52. package/dist/settings/dictionaries/settings-dialog.it.js +27 -0
  53. package/dist/settings/dictionaries/settings-dialog.ja.d.ts +3 -0
  54. package/dist/settings/dictionaries/settings-dialog.ja.js +27 -0
  55. package/dist/settings/dictionaries/settings-dialog.ko.d.ts +3 -0
  56. package/dist/settings/dictionaries/settings-dialog.ko.js +27 -0
  57. package/dist/settings/dictionaries/settings-dialog.pl.d.ts +3 -0
  58. package/dist/settings/dictionaries/settings-dialog.pl.js +27 -0
  59. package/dist/settings/dictionaries/settings-dialog.pt-BR.d.ts +3 -0
  60. package/dist/settings/dictionaries/settings-dialog.pt-BR.js +27 -0
  61. package/dist/settings/dictionaries/settings-dialog.ru.d.ts +3 -0
  62. package/dist/settings/dictionaries/settings-dialog.ru.js +27 -0
  63. package/dist/settings/dictionaries/settings-dialog.th.d.ts +3 -0
  64. package/dist/settings/dictionaries/settings-dialog.th.js +27 -0
  65. package/dist/settings/dictionaries/settings-dialog.tr.d.ts +3 -0
  66. package/dist/settings/dictionaries/settings-dialog.tr.js +27 -0
  67. package/dist/settings/dictionaries/settings-dialog.uk.d.ts +3 -0
  68. package/dist/settings/dictionaries/settings-dialog.uk.js +27 -0
  69. package/dist/settings/dictionaries/settings-dialog.ur.d.ts +3 -0
  70. package/dist/settings/dictionaries/settings-dialog.ur.js +27 -0
  71. package/dist/settings/dictionaries/settings-dialog.zh-CN.d.ts +3 -0
  72. package/dist/settings/dictionaries/settings-dialog.zh-CN.js +27 -0
  73. package/dist/settings/dictionaries/settings-dialog.zh-TW.d.ts +3 -0
  74. package/dist/settings/dictionaries/settings-dialog.zh-TW.js +27 -0
  75. package/dist/settings/ensure-definitions.d.ts +101 -0
  76. package/dist/settings/ensure-definitions.js +101 -0
  77. package/dist/settings/errors.d.ts +42 -0
  78. package/dist/settings/errors.js +46 -0
  79. package/dist/settings/express/cms-adapter.d.ts +20 -0
  80. package/dist/settings/express/cms-adapter.js +124 -0
  81. package/dist/settings/express/contracts.d.ts +135 -0
  82. package/dist/settings/express/contracts.js +2 -0
  83. package/dist/settings/express/http.d.ts +10 -0
  84. package/dist/settings/express/http.js +211 -0
  85. package/dist/settings/express/index.d.ts +5 -0
  86. package/dist/settings/express/index.js +4 -0
  87. package/dist/settings/express/shared.d.ts +68 -0
  88. package/dist/settings/express/shared.js +54 -0
  89. package/dist/settings/express/stream.d.ts +24 -0
  90. package/dist/settings/express/stream.js +147 -0
  91. package/dist/settings/index.d.ts +40 -0
  92. package/dist/settings/index.js +37 -0
  93. package/dist/settings/ports.d.ts +118 -0
  94. package/dist/settings/ports.js +2 -0
  95. package/dist/settings/principal-lookup.d.ts +9 -0
  96. package/dist/settings/principal-lookup.js +2 -0
  97. package/dist/settings/purge-service.d.ts +54 -0
  98. package/dist/settings/purge-service.js +106 -0
  99. package/dist/settings/repo.memory.d.ts +119 -0
  100. package/dist/settings/repo.memory.js +199 -0
  101. package/dist/settings/settings.d.ts +139 -0
  102. package/dist/settings/settings.js +259 -0
  103. package/dist/settings/tool-registrations.d.ts +54 -0
  104. package/dist/settings/tool-registrations.js +250 -0
  105. package/dist/settings/types.d.ts +125 -0
  106. package/dist/settings/types.js +3 -0
  107. package/dist/settings/ui-tab-definitions.d.ts +41 -0
  108. package/dist/settings/ui-tab-definitions.js +148 -0
  109. package/dist/settings/write-service.d.ts +320 -0
  110. package/dist/settings/write-service.js +683 -0
  111. package/dist/surface-exchanges.d.ts +209 -0
  112. package/dist/surface-exchanges.js +55 -0
  113. package/dist/tool-metadata.d.ts +71 -0
  114. package/dist/tool-metadata.js +56 -0
  115. package/dist/tool-permissions.d.ts +76 -0
  116. package/dist/tool-permissions.js +57 -0
  117. package/dist/tool-registry.d.ts +3 -0
  118. package/package.json +62 -4
  119. package/dist/internal.d.ts +0 -41
  120. package/dist/internal.js +0 -39
@@ -1,41 +0,0 @@
1
- /**
2
- * @module @jini-ai/core/internal
3
- *
4
- * Package-internal entry point — NOT part of `@jini-ai/core`'s public
5
- * contract. Two unrelated escape hatches live here, each for its own
6
- * single intended consumer:
7
- *
8
- * - {@link authorizeToolInvocation} so `@jini-ai/daemon`'s `ToolExecutor` can
9
- * resolve a registered tool and run its authorization gate — the tool's
10
- * own `ToolPolicy`, then an optional transport-level veto — before ever
11
- * receiving the handler. This is the security-sensitive one: it is a
12
- * runtime *value* export, but unlike the `getToolRegistration` it
13
- * replaced (2026-07-29 hardening pass), it only ever returns a handler
14
- * closure alongside a `decision: 'allow'` — a denied or unauthorized call
15
- * gets no handler at all, so the authorization gate cannot be bypassed by
16
- * calling this export directly instead of going through `ToolExecutor`.
17
- * - `AnyPack`/`RequiredTokenIds`/`MissingTokenIds` so `@jini-ai/server`'s
18
- * `createLocalNodeDaemon` can re-derive `createDaemon`'s exact
19
- * compile-time "missing binding" gate on its own wrapper config type,
20
- * instead of either duplicating the type-level logic or losing the
21
- * compile-time check through the wrapper. These are `import type`-only —
22
- * erased at build time, carry no runtime capability, and are not a
23
- * security boundary the way {@link authorizeToolInvocation} is.
24
- *
25
- * **Correction (2026-07-19 hardening pass):** a package.json `exports` map
26
- * subpath is NOT a language-level or per-consumer access modifier — Node's
27
- * module resolution will happily resolve `@jini-ai/core/internal` for *any*
28
- * package that depends on `@jini-ai/core`, not just the intended consumer.
29
- * Earlier revisions of this doc comment claimed this boundary was
30
- * "enforced" by the exports map; that was inaccurate and left the leak
31
- * undetected. The actual enforcement is `scripts/check-engine-boundaries.ts`'s
32
- * rule forbidding any *value* import from `@jini-ai/core/internal` outside
33
- * `packages/daemon/**` (type-only imports of the DI-token-derivation types
34
- * remain unrestricted, since they carry no runtime capability) — that guard
35
- * is wired in, but is a second, independent layer on top of the 2026-07-29
36
- * structural fix above, not a substitute for it.
37
- */
38
- export { authorizeToolInvocation } from './tool-registry.js';
39
- export type { ToolAuthorizationDelegate, ToolInvocationAuthorization } from './tool-registry.js';
40
- export type { AnyPack, MissingTokenIds, RequiredTokenIds } from './daemon.js';
41
- //# sourceMappingURL=internal.d.ts.map
package/dist/internal.js DELETED
@@ -1,39 +0,0 @@
1
- /**
2
- * @module @jini-ai/core/internal
3
- *
4
- * Package-internal entry point — NOT part of `@jini-ai/core`'s public
5
- * contract. Two unrelated escape hatches live here, each for its own
6
- * single intended consumer:
7
- *
8
- * - {@link authorizeToolInvocation} so `@jini-ai/daemon`'s `ToolExecutor` can
9
- * resolve a registered tool and run its authorization gate — the tool's
10
- * own `ToolPolicy`, then an optional transport-level veto — before ever
11
- * receiving the handler. This is the security-sensitive one: it is a
12
- * runtime *value* export, but unlike the `getToolRegistration` it
13
- * replaced (2026-07-29 hardening pass), it only ever returns a handler
14
- * closure alongside a `decision: 'allow'` — a denied or unauthorized call
15
- * gets no handler at all, so the authorization gate cannot be bypassed by
16
- * calling this export directly instead of going through `ToolExecutor`.
17
- * - `AnyPack`/`RequiredTokenIds`/`MissingTokenIds` so `@jini-ai/server`'s
18
- * `createLocalNodeDaemon` can re-derive `createDaemon`'s exact
19
- * compile-time "missing binding" gate on its own wrapper config type,
20
- * instead of either duplicating the type-level logic or losing the
21
- * compile-time check through the wrapper. These are `import type`-only —
22
- * erased at build time, carry no runtime capability, and are not a
23
- * security boundary the way {@link authorizeToolInvocation} is.
24
- *
25
- * **Correction (2026-07-19 hardening pass):** a package.json `exports` map
26
- * subpath is NOT a language-level or per-consumer access modifier — Node's
27
- * module resolution will happily resolve `@jini-ai/core/internal` for *any*
28
- * package that depends on `@jini-ai/core`, not just the intended consumer.
29
- * Earlier revisions of this doc comment claimed this boundary was
30
- * "enforced" by the exports map; that was inaccurate and left the leak
31
- * undetected. The actual enforcement is `scripts/check-engine-boundaries.ts`'s
32
- * rule forbidding any *value* import from `@jini-ai/core/internal` outside
33
- * `packages/daemon/**` (type-only imports of the DI-token-derivation types
34
- * remain unrestricted, since they carry no runtime capability) — that guard
35
- * is wired in, but is a second, independent layer on top of the 2026-07-29
36
- * structural fix above, not a substitute for it.
37
- */
38
- export { authorizeToolInvocation } from './tool-registry.js';
39
- //# sourceMappingURL=internal.js.map