@agimon-ai/doompi-cache 0.0.1-alpha.39 → 0.0.1-alpha.41

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 (113) hide show
  1. package/package.json +6 -6
  2. package/dist/api-contracts.cjs +0 -7
  3. package/dist/api-contracts.d.cts +0 -2
  4. package/dist/api-contracts.d.mts +0 -2
  5. package/dist/api-contracts.mjs +0 -2
  6. package/dist/env.cjs +0 -7
  7. package/dist/env.d.cts +0 -2
  8. package/dist/env.d.mts +0 -2
  9. package/dist/env.mjs +0 -2
  10. package/dist/extensions/pi.cjs +0 -459
  11. package/dist/extensions/pi.cjs.map +0 -1
  12. package/dist/extensions/pi.d.cts +0 -42
  13. package/dist/extensions/pi.d.cts.map +0 -1
  14. package/dist/extensions/pi.d.mts +0 -42
  15. package/dist/extensions/pi.d.mts.map +0 -1
  16. package/dist/extensions/pi.mjs +0 -454
  17. package/dist/extensions/pi.mjs.map +0 -1
  18. package/dist/extensions/server.cjs +0 -24
  19. package/dist/extensions/server.cjs.map +0 -1
  20. package/dist/extensions/server.d.cts +0 -5
  21. package/dist/extensions/server.d.cts.map +0 -1
  22. package/dist/extensions/server.d.mts +0 -5
  23. package/dist/extensions/server.d.mts.map +0 -1
  24. package/dist/extensions/server.mjs +0 -19
  25. package/dist/extensions/server.mjs.map +0 -1
  26. package/dist/index.cjs +0 -22
  27. package/dist/index.d.cts +0 -8
  28. package/dist/index.d.mts +0 -8
  29. package/dist/index.mjs +0 -7
  30. package/dist/pi-cache-optimizer-D5NlAlHL.cjs +0 -7915
  31. package/dist/pi-cache-optimizer-D5NlAlHL.cjs.map +0 -1
  32. package/dist/pi-cache-optimizer-D8Cz8JHJ.mjs +0 -7914
  33. package/dist/pi-cache-optimizer-D8Cz8JHJ.mjs.map +0 -1
  34. package/dist/src/constants/environment.cjs +0 -14
  35. package/dist/src/constants/environment.cjs.map +0 -1
  36. package/dist/src/constants/environment.d.cts +0 -8
  37. package/dist/src/constants/environment.d.cts.map +0 -1
  38. package/dist/src/constants/environment.d.mts +0 -8
  39. package/dist/src/constants/environment.d.mts.map +0 -1
  40. package/dist/src/constants/environment.mjs +0 -10
  41. package/dist/src/constants/environment.mjs.map +0 -1
  42. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.cjs +0 -47
  43. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.cjs.map +0 -1
  44. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.mjs +0 -47
  45. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.mjs.map +0 -1
  46. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.cjs +0 -7
  47. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.cjs.map +0 -1
  48. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.mjs +0 -8
  49. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.mjs.map +0 -1
  50. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +0 -7
  51. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +0 -1
  52. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +0 -8
  53. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +0 -1
  54. package/dist/src/models/promptCacheTelemetry.cjs +0 -45
  55. package/dist/src/models/promptCacheTelemetry.cjs.map +0 -1
  56. package/dist/src/models/promptCacheTelemetry.d.cts +0 -12
  57. package/dist/src/models/promptCacheTelemetry.d.cts.map +0 -1
  58. package/dist/src/models/promptCacheTelemetry.d.mts +0 -12
  59. package/dist/src/models/promptCacheTelemetry.d.mts.map +0 -1
  60. package/dist/src/models/promptCacheTelemetry.mjs +0 -45
  61. package/dist/src/models/promptCacheTelemetry.mjs.map +0 -1
  62. package/dist/src/schemas/apiContracts.cjs +0 -13
  63. package/dist/src/schemas/apiContracts.cjs.map +0 -1
  64. package/dist/src/schemas/apiContracts.d.cts +0 -53
  65. package/dist/src/schemas/apiContracts.d.cts.map +0 -1
  66. package/dist/src/schemas/apiContracts.d.mts +0 -53
  67. package/dist/src/schemas/apiContracts.d.mts.map +0 -1
  68. package/dist/src/schemas/apiContracts.mjs +0 -13
  69. package/dist/src/schemas/apiContracts.mjs.map +0 -1
  70. package/dist/src/services/canonical/index.cjs +0 -28
  71. package/dist/src/services/canonical/index.cjs.map +0 -1
  72. package/dist/src/services/canonical/index.d.cts +0 -9
  73. package/dist/src/services/canonical/index.d.cts.map +0 -1
  74. package/dist/src/services/canonical/index.d.mts +0 -9
  75. package/dist/src/services/canonical/index.d.mts.map +0 -1
  76. package/dist/src/services/canonical/index.mjs +0 -27
  77. package/dist/src/services/canonical/index.mjs.map +0 -1
  78. package/dist/src/services/digest/index.cjs +0 -9
  79. package/dist/src/services/digest/index.cjs.map +0 -1
  80. package/dist/src/services/digest/index.d.cts +0 -4
  81. package/dist/src/services/digest/index.d.cts.map +0 -1
  82. package/dist/src/services/digest/index.d.mts +0 -4
  83. package/dist/src/services/digest/index.d.mts.map +0 -1
  84. package/dist/src/services/digest/index.mjs +0 -9
  85. package/dist/src/services/digest/index.mjs.map +0 -1
  86. package/dist/src/services/namespace/index.cjs +0 -78
  87. package/dist/src/services/namespace/index.cjs.map +0 -1
  88. package/dist/src/services/namespace/index.d.cts +0 -9
  89. package/dist/src/services/namespace/index.d.cts.map +0 -1
  90. package/dist/src/services/namespace/index.d.mts +0 -9
  91. package/dist/src/services/namespace/index.d.mts.map +0 -1
  92. package/dist/src/services/namespace/index.mjs +0 -74
  93. package/dist/src/services/namespace/index.mjs.map +0 -1
  94. package/dist/src/services/promptCacheTelemetry/index.cjs +0 -22
  95. package/dist/src/services/promptCacheTelemetry/index.cjs.map +0 -1
  96. package/dist/src/services/promptCacheTelemetry/index.d.cts +0 -17
  97. package/dist/src/services/promptCacheTelemetry/index.d.cts.map +0 -1
  98. package/dist/src/services/promptCacheTelemetry/index.d.mts +0 -17
  99. package/dist/src/services/promptCacheTelemetry/index.d.mts.map +0 -1
  100. package/dist/src/services/promptCacheTelemetry/index.mjs +0 -20
  101. package/dist/src/services/promptCacheTelemetry/index.mjs.map +0 -1
  102. package/dist/src/services/providerPolicy/index.cjs +0 -43
  103. package/dist/src/services/providerPolicy/index.cjs.map +0 -1
  104. package/dist/src/services/providerPolicy/index.d.cts +0 -7
  105. package/dist/src/services/providerPolicy/index.d.cts.map +0 -1
  106. package/dist/src/services/providerPolicy/index.d.mts +0 -7
  107. package/dist/src/services/providerPolicy/index.d.mts.map +0 -1
  108. package/dist/src/services/providerPolicy/index.mjs +0 -41
  109. package/dist/src/services/providerPolicy/index.mjs.map +0 -1
  110. package/dist/src/types/cache.d.cts +0 -67
  111. package/dist/src/types/cache.d.cts.map +0 -1
  112. package/dist/src/types/cache.d.mts +0 -67
  113. package/dist/src/types/cache.d.mts.map +0 -1
@@ -1,14 +0,0 @@
1
- //#region src/constants/environment.ts
2
- const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = "DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE";
3
- const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = "DOOMPI_PROMPT_CACHE_ROOT_SESSION";
4
- const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = "DOOMPI_PROMPT_CACHE_CHILD_PROJECTION";
5
- const PI_CACHE_RETENTION_ENV = "PI_CACHE_RETENTION";
6
- const PI_CACHE_RETENTION_LONG = "long";
7
- //#endregion
8
- exports.DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV;
9
- exports.DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV;
10
- exports.DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV;
11
- exports.PI_CACHE_RETENTION_ENV = PI_CACHE_RETENTION_ENV;
12
- exports.PI_CACHE_RETENTION_LONG = PI_CACHE_RETENTION_LONG;
13
-
14
- //# sourceMappingURL=environment.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.cjs","names":[],"sources":["../../../src/constants/environment.ts"],"sourcesContent":["export const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = 'DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE';\nexport const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = 'DOOMPI_PROMPT_CACHE_ROOT_SESSION';\nexport const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = 'DOOMPI_PROMPT_CACHE_CHILD_PROJECTION';\nexport const PI_CACHE_RETENTION_ENV = 'PI_CACHE_RETENTION';\nexport const PI_CACHE_RETENTION_LONG = 'long';\n"],"mappings":";AAAA,MAAa,2CAA2C;AACxD,MAAa,uCAAuC;AACpD,MAAa,2CAA2C;AACxD,MAAa,yBAAyB;AACtC,MAAa,0BAA0B"}
@@ -1,8 +0,0 @@
1
- //#region src/constants/environment.d.ts
2
- export declare const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = "DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE";
3
- export declare const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = "DOOMPI_PROMPT_CACHE_ROOT_SESSION";
4
- export declare const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = "DOOMPI_PROMPT_CACHE_CHILD_PROJECTION";
5
- export declare const PI_CACHE_RETENTION_ENV = "PI_CACHE_RETENTION";
6
- export declare const PI_CACHE_RETENTION_LONG = "long";
7
- //#endregion
8
- //# sourceMappingURL=environment.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.cts","names":[],"sources":["../../../src/constants/environment.ts"],"mappings":";qBAAa;qBACA;qBACA;qBACA;qBACA"}
@@ -1,8 +0,0 @@
1
- //#region src/constants/environment.d.ts
2
- export declare const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = "DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE";
3
- export declare const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = "DOOMPI_PROMPT_CACHE_ROOT_SESSION";
4
- export declare const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = "DOOMPI_PROMPT_CACHE_CHILD_PROJECTION";
5
- export declare const PI_CACHE_RETENTION_ENV = "PI_CACHE_RETENTION";
6
- export declare const PI_CACHE_RETENTION_LONG = "long";
7
- //#endregion
8
- //# sourceMappingURL=environment.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.mts","names":[],"sources":["../../../src/constants/environment.ts"],"mappings":";qBAAa;qBACA;qBACA;qBACA;qBACA"}
@@ -1,10 +0,0 @@
1
- //#region src/constants/environment.ts
2
- const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = "DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE";
3
- const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = "DOOMPI_PROMPT_CACHE_ROOT_SESSION";
4
- const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = "DOOMPI_PROMPT_CACHE_CHILD_PROJECTION";
5
- const PI_CACHE_RETENTION_ENV = "PI_CACHE_RETENTION";
6
- const PI_CACHE_RETENTION_LONG = "long";
7
- //#endregion
8
- export { DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV, DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV, DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV, PI_CACHE_RETENTION_ENV, PI_CACHE_RETENTION_LONG };
9
-
10
- //# sourceMappingURL=environment.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.mjs","names":[],"sources":["../../../src/constants/environment.ts"],"sourcesContent":["export const DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE_ENV = 'DOOMPI_PROMPT_CACHE_PARENT_NAMESPACE';\nexport const DOOMPI_PROMPT_CACHE_ROOT_SESSION_ENV = 'DOOMPI_PROMPT_CACHE_ROOT_SESSION';\nexport const DOOMPI_PROMPT_CACHE_CHILD_PROJECTION_ENV = 'DOOMPI_PROMPT_CACHE_CHILD_PROJECTION';\nexport const PI_CACHE_RETENTION_ENV = 'PI_CACHE_RETENTION';\nexport const PI_CACHE_RETENTION_LONG = 'long';\n"],"mappings":";AAAA,MAAa,2CAA2C;AACxD,MAAa,uCAAuC;AACpD,MAAa,2CAA2C;AACxD,MAAa,yBAAyB;AACtC,MAAa,0BAA0B"}
@@ -1,47 +0,0 @@
1
- const require_index = require("../../../../../services/canonical/index.cjs");
2
- const require_index$1 = require("../../../../../services/digest/index.cjs");
3
- const require_index$2 = require("../../../../../services/namespace/index.cjs");
4
- const require_index$3 = require("../../../../../services/providerPolicy/index.cjs");
5
- //#region src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.ts
6
- function record(value) {
7
- return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
8
- }
9
- function modelIdentity(model, payload) {
10
- const request = record(payload);
11
- return {
12
- virtualProvider: model?.provider,
13
- virtualModel: model?.id,
14
- api: typeof request.api === "string" ? request.api : void 0,
15
- wireModel: typeof request.model === "string" ? request.model : void 0
16
- };
17
- }
18
- function cacheNamespace(context) {
19
- return `dph_${require_index$1.sha256Base64Url(require_index.canonicalJson({
20
- version: 1,
21
- session: context.sessionId,
22
- selection: context.selection
23
- }))}`;
24
- }
25
- const cacheHooks = [{
26
- event: "before_provider_request",
27
- handle(event, execution) {
28
- const payload = record(event.payload);
29
- const identity = modelIdentity(execution.model, payload);
30
- const modelFingerprint = require_index$2.createPromptCacheModelFingerprint(identity, require_index$1.sha256Base64Url);
31
- const key = require_index$2.createPromptCacheKey(cacheNamespace({
32
- sessionId: execution.sessionId,
33
- selection: execution.selection
34
- }), "parent", modelFingerprint, require_index$1.sha256Base64Url);
35
- const rewritten = require_index$3.rewritePromptCacheKey(payload, identity.api, key, true);
36
- return rewritten === void 0 ? void 0 : { payload: rewritten };
37
- }
38
- }, {
39
- event: "session_shutdown",
40
- handle(_event, execution) {
41
- execution.client.setStatus("doom-cache", void 0);
42
- }
43
- }];
44
- //#endregion
45
- exports.cacheHooks = cacheHooks;
46
-
47
- //# sourceMappingURL=cacheHooks.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cacheHooks.cjs","names":["sha256Base64Url","canonicalJson","createPromptCacheModelFingerprint","createPromptCacheKey","rewritePromptCacheKey"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.ts"],"sourcesContent":["import { type DoomHeadlessHook } from '@agimon-ai/doompi-core/headless';\n\nimport { canonicalJson } from '../../../../../services/canonical';\nimport { sha256Base64Url } from '../../../../../services/digest';\nimport { createPromptCacheKey, createPromptCacheModelFingerprint } from '../../../../../services/namespace';\nimport { rewritePromptCacheKey } from '../../../../../services/providerPolicy';\nimport type { PromptCacheModelIdentity } from '../../../../../types/cache';\n\nfunction record(value: unknown): Readonly<Record<string, unknown>> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Readonly<Record<string, unknown>>)\n : {};\n}\n\nfunction modelIdentity(\n model: { provider: string; id: string } | undefined,\n payload: unknown,\n): PromptCacheModelIdentity {\n const request = record(payload);\n return {\n virtualProvider: model?.provider,\n virtualModel: model?.id,\n api: typeof request.api === 'string' ? request.api : undefined,\n wireModel: typeof request.model === 'string' ? request.model : undefined,\n };\n}\n\nfunction cacheNamespace(context: { sessionId: string; selection: Record<string, unknown> }): string {\n return `dph_${sha256Base64Url(canonicalJson({ version: 1, session: context.sessionId, selection: context.selection }))}`;\n}\n\nexport const cacheHooks: DoomHeadlessHook[] = [\n {\n event: 'before_provider_request',\n handle(event, execution) {\n const payload = record(event.payload);\n const identity = modelIdentity(execution.model, payload);\n const modelFingerprint = createPromptCacheModelFingerprint(identity, sha256Base64Url);\n const key = createPromptCacheKey(\n cacheNamespace({\n sessionId: execution.sessionId,\n selection: execution.selection as unknown as Record<string, unknown>,\n }),\n 'parent',\n modelFingerprint,\n sha256Base64Url,\n );\n const rewritten = rewritePromptCacheKey(payload, identity.api, key, true);\n return rewritten === undefined ? undefined : { payload: rewritten };\n },\n },\n {\n event: 'session_shutdown',\n handle(_event, execution) {\n execution.client.setStatus('doom-cache', undefined);\n },\n },\n];\n"],"mappings":";;;;;AAQA,SAAS,OAAO,OAAmD;CACjE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IACrE,QACD,CAAC;AACP;AAEA,SAAS,cACP,OACA,SAC0B;CAC1B,MAAM,UAAU,OAAO,OAAO;CAC9B,OAAO;EACL,iBAAiB,OAAO;EACxB,cAAc,OAAO;EACrB,KAAK,OAAO,QAAQ,QAAQ,WAAW,QAAQ,MAAM,KAAA;EACrD,WAAW,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ,KAAA;CACjE;AACF;AAEA,SAAS,eAAe,SAA4E;CAClG,OAAO,OAAOA,gBAAAA,gBAAgBC,cAAAA,cAAc;EAAE,SAAS;EAAG,SAAS,QAAQ;EAAW,WAAW,QAAQ;CAAU,CAAC,CAAC;AACvH;AAEA,MAAa,aAAiC,CAC5C;CACE,OAAO;CACP,OAAO,OAAO,WAAW;EACvB,MAAM,UAAU,OAAO,MAAM,OAAO;EACpC,MAAM,WAAW,cAAc,UAAU,OAAO,OAAO;EACvD,MAAM,mBAAmBC,gBAAAA,kCAAkC,UAAUF,gBAAAA,eAAe;EACpF,MAAM,MAAMG,gBAAAA,qBACV,eAAe;GACb,WAAW,UAAU;GACrB,WAAW,UAAU;EACvB,CAAC,GACD,UACA,kBACAH,gBAAAA,eACF;EACA,MAAM,YAAYI,gBAAAA,sBAAsB,SAAS,SAAS,KAAK,KAAK,IAAI;EACxE,OAAO,cAAc,KAAA,IAAY,KAAA,IAAY,EAAE,SAAS,UAAU;CACpE;AACF,GACA;CACE,OAAO;CACP,OAAO,QAAQ,WAAW;EACxB,UAAU,OAAO,UAAU,cAAc,KAAA,CAAS;CACpD;AACF,CACF"}
@@ -1,47 +0,0 @@
1
- import { canonicalJson } from "../../../../../services/canonical/index.mjs";
2
- import { sha256Base64Url } from "../../../../../services/digest/index.mjs";
3
- import { createPromptCacheKey, createPromptCacheModelFingerprint } from "../../../../../services/namespace/index.mjs";
4
- import { rewritePromptCacheKey } from "../../../../../services/providerPolicy/index.mjs";
5
- //#region src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.ts
6
- function record(value) {
7
- return typeof value === "object" && value !== null && !Array.isArray(value) ? value : {};
8
- }
9
- function modelIdentity(model, payload) {
10
- const request = record(payload);
11
- return {
12
- virtualProvider: model?.provider,
13
- virtualModel: model?.id,
14
- api: typeof request.api === "string" ? request.api : void 0,
15
- wireModel: typeof request.model === "string" ? request.model : void 0
16
- };
17
- }
18
- function cacheNamespace(context) {
19
- return `dph_${sha256Base64Url(canonicalJson({
20
- version: 1,
21
- session: context.sessionId,
22
- selection: context.selection
23
- }))}`;
24
- }
25
- const cacheHooks = [{
26
- event: "before_provider_request",
27
- handle(event, execution) {
28
- const payload = record(event.payload);
29
- const identity = modelIdentity(execution.model, payload);
30
- const modelFingerprint = createPromptCacheModelFingerprint(identity, sha256Base64Url);
31
- const key = createPromptCacheKey(cacheNamespace({
32
- sessionId: execution.sessionId,
33
- selection: execution.selection
34
- }), "parent", modelFingerprint, sha256Base64Url);
35
- const rewritten = rewritePromptCacheKey(payload, identity.api, key, true);
36
- return rewritten === void 0 ? void 0 : { payload: rewritten };
37
- }
38
- }, {
39
- event: "session_shutdown",
40
- handle(_event, execution) {
41
- execution.client.setStatus("doom-cache", void 0);
42
- }
43
- }];
44
- //#endregion
45
- export { cacheHooks };
46
-
47
- //# sourceMappingURL=cacheHooks.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cacheHooks.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/_lib/cacheHooks.ts"],"sourcesContent":["import { type DoomHeadlessHook } from '@agimon-ai/doompi-core/headless';\n\nimport { canonicalJson } from '../../../../../services/canonical';\nimport { sha256Base64Url } from '../../../../../services/digest';\nimport { createPromptCacheKey, createPromptCacheModelFingerprint } from '../../../../../services/namespace';\nimport { rewritePromptCacheKey } from '../../../../../services/providerPolicy';\nimport type { PromptCacheModelIdentity } from '../../../../../types/cache';\n\nfunction record(value: unknown): Readonly<Record<string, unknown>> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Readonly<Record<string, unknown>>)\n : {};\n}\n\nfunction modelIdentity(\n model: { provider: string; id: string } | undefined,\n payload: unknown,\n): PromptCacheModelIdentity {\n const request = record(payload);\n return {\n virtualProvider: model?.provider,\n virtualModel: model?.id,\n api: typeof request.api === 'string' ? request.api : undefined,\n wireModel: typeof request.model === 'string' ? request.model : undefined,\n };\n}\n\nfunction cacheNamespace(context: { sessionId: string; selection: Record<string, unknown> }): string {\n return `dph_${sha256Base64Url(canonicalJson({ version: 1, session: context.sessionId, selection: context.selection }))}`;\n}\n\nexport const cacheHooks: DoomHeadlessHook[] = [\n {\n event: 'before_provider_request',\n handle(event, execution) {\n const payload = record(event.payload);\n const identity = modelIdentity(execution.model, payload);\n const modelFingerprint = createPromptCacheModelFingerprint(identity, sha256Base64Url);\n const key = createPromptCacheKey(\n cacheNamespace({\n sessionId: execution.sessionId,\n selection: execution.selection as unknown as Record<string, unknown>,\n }),\n 'parent',\n modelFingerprint,\n sha256Base64Url,\n );\n const rewritten = rewritePromptCacheKey(payload, identity.api, key, true);\n return rewritten === undefined ? undefined : { payload: rewritten };\n },\n },\n {\n event: 'session_shutdown',\n handle(_event, execution) {\n execution.client.setStatus('doom-cache', undefined);\n },\n },\n];\n"],"mappings":";;;;;AAQA,SAAS,OAAO,OAAmD;CACjE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IACrE,QACD,CAAC;AACP;AAEA,SAAS,cACP,OACA,SAC0B;CAC1B,MAAM,UAAU,OAAO,OAAO;CAC9B,OAAO;EACL,iBAAiB,OAAO;EACxB,cAAc,OAAO;EACrB,KAAK,OAAO,QAAQ,QAAQ,WAAW,QAAQ,MAAM,KAAA;EACrD,WAAW,OAAO,QAAQ,UAAU,WAAW,QAAQ,QAAQ,KAAA;CACjE;AACF;AAEA,SAAS,eAAe,SAA4E;CAClG,OAAO,OAAO,gBAAgB,cAAc;EAAE,SAAS;EAAG,SAAS,QAAQ;EAAW,WAAW,QAAQ;CAAU,CAAC,CAAC;AACvH;AAEA,MAAa,aAAiC,CAC5C;CACE,OAAO;CACP,OAAO,OAAO,WAAW;EACvB,MAAM,UAAU,OAAO,MAAM,OAAO;EACpC,MAAM,WAAW,cAAc,UAAU,OAAO,OAAO;EACvD,MAAM,mBAAmB,kCAAkC,UAAU,eAAe;EACpF,MAAM,MAAM,qBACV,eAAe;GACb,WAAW,UAAU;GACrB,WAAW,UAAU;EACvB,CAAC,GACD,UACA,kBACA,eACF;EACA,MAAM,YAAY,sBAAsB,SAAS,SAAS,KAAK,KAAK,IAAI;EACxE,OAAO,cAAc,KAAA,IAAY,KAAA,IAAY,EAAE,SAAS,UAAU;CACpE;AACF,GACA;CACE,OAAO;CACP,OAAO,QAAQ,WAAW;EACxB,UAAU,OAAO,UAAU,cAAc,KAAA,CAAS;CACpD;AACF,CACF"}
@@ -1,7 +0,0 @@
1
- const require_cacheHooks = require("../_lib/cacheHooks.cjs");
2
- //#region src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.ts
3
- var before_provider_request_server_default = (0, require("@agimon-ai/doompi-core/extension-file").defineHook)(require_cacheHooks.cacheHooks.find((hook) => hook.event === "before_provider_request"));
4
- //#endregion
5
- exports.default = before_provider_request_server_default;
6
-
7
- //# sourceMappingURL=before-provider-request.server.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"before-provider-request.server.cjs","names":["defineHook","cacheHooks"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.ts"],"sourcesContent":["import { defineHook } from '@agimon-ai/doompi-core/extension-file';\n\nimport { cacheHooks } from '../_lib/cacheHooks';\nexport default defineHook(cacheHooks.find((hook) => hook.event === 'before_provider_request')!);\n"],"mappings":";;AAGA,IAAA,0CAAA,kDAAeA,CAAAA,CAAAA,WAAAA,CAAWC,mBAAAA,WAAW,MAAM,SAAS,KAAK,UAAU,yBAAyB,CAAE"}
@@ -1,8 +0,0 @@
1
- import { cacheHooks } from "../_lib/cacheHooks.mjs";
2
- import { defineHook } from "@agimon-ai/doompi-core/extension-file";
3
- //#region src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.ts
4
- var before_provider_request_server_default = defineHook(cacheHooks.find((hook) => hook.event === "before_provider_request"));
5
- //#endregion
6
- export { before_provider_request_server_default as default };
7
-
8
- //# sourceMappingURL=before-provider-request.server.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"before-provider-request.server.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/hook/before-provider-request.server.ts"],"sourcesContent":["import { defineHook } from '@agimon-ai/doompi-core/extension-file';\n\nimport { cacheHooks } from '../_lib/cacheHooks';\nexport default defineHook(cacheHooks.find((hook) => hook.event === 'before_provider_request')!);\n"],"mappings":";;;AAGA,IAAA,yCAAe,WAAW,WAAW,MAAM,SAAS,KAAK,UAAU,yBAAyB,CAAE"}
@@ -1,7 +0,0 @@
1
- const require_cacheHooks = require("../_lib/cacheHooks.cjs");
2
- //#region src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.ts
3
- var session_shutdown_server_default = (0, require("@agimon-ai/doompi-core/extension-file").defineHook)(require_cacheHooks.cacheHooks.find((hook) => hook.event === "session_shutdown"));
4
- //#endregion
5
- exports.default = session_shutdown_server_default;
6
-
7
- //# sourceMappingURL=session-shutdown.server.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-shutdown.server.cjs","names":["defineHook","cacheHooks"],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.ts"],"sourcesContent":["import { defineHook } from '@agimon-ai/doompi-core/extension-file';\n\nimport { cacheHooks } from '../_lib/cacheHooks';\nexport default defineHook(cacheHooks.find((hook) => hook.event === 'session_shutdown')!);\n"],"mappings":";;AAGA,IAAA,mCAAA,kDAAeA,CAAAA,CAAAA,WAAAA,CAAWC,mBAAAA,WAAW,MAAM,SAAS,KAAK,UAAU,kBAAkB,CAAE"}
@@ -1,8 +0,0 @@
1
- import { cacheHooks } from "../_lib/cacheHooks.mjs";
2
- import { defineHook } from "@agimon-ai/doompi-core/extension-file";
3
- //#region src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.ts
4
- var session_shutdown_server_default = defineHook(cacheHooks.find((hook) => hook.event === "session_shutdown"));
5
- //#endregion
6
- export { session_shutdown_server_default as default };
7
-
8
- //# sourceMappingURL=session-shutdown.server.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-shutdown.server.mjs","names":[],"sources":["../../../../../../../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.ts"],"sourcesContent":["import { defineHook } from '@agimon-ai/doompi-core/extension-file';\n\nimport { cacheHooks } from '../_lib/cacheHooks';\nexport default defineHook(cacheHooks.find((hook) => hook.event === 'session_shutdown')!);\n"],"mappings":";;;AAGA,IAAA,kCAAe,WAAW,WAAW,MAAM,SAAS,KAAK,UAAU,kBAAkB,CAAE"}
@@ -1,45 +0,0 @@
1
- //#region src/models/promptCacheTelemetry.ts
2
- const DEFAULT_OBSERVATION_LIMIT = 64;
3
- var PromptCacheTelemetry = class {
4
- #limit;
5
- #request = { capability: "unknown" };
6
- #observations = [];
7
- constructor(limit = DEFAULT_OBSERVATION_LIMIT) {
8
- if (!Number.isInteger(limit) || limit < 1) throw new Error("Prompt cache telemetry limit must be a positive integer.");
9
- this.#limit = limit;
10
- }
11
- beginRequest(status) {
12
- this.#request = { ...status };
13
- }
14
- observe(usage, observedAt) {
15
- const namespace = this.#request.namespace;
16
- const modelFingerprint = this.#request.modelFingerprint;
17
- if (!namespace || !modelFingerprint) return;
18
- this.#observations.push({
19
- namespace,
20
- modelFingerprint,
21
- cacheRead: usage.cacheRead,
22
- cacheWrite: usage.cacheWrite,
23
- totalInput: usage.totalInput,
24
- observedAt
25
- });
26
- if (this.#observations.length > this.#limit) this.#observations.splice(0, this.#observations.length - this.#limit);
27
- }
28
- snapshot() {
29
- const observations = [...this.#observations];
30
- return {
31
- ...this.#request,
32
- residency: "unknown",
33
- observations,
34
- ...observations.length > 0 ? { lastObservation: observations.at(-1) } : {}
35
- };
36
- }
37
- reset() {
38
- this.#request = { capability: "unknown" };
39
- this.#observations = [];
40
- }
41
- };
42
- //#endregion
43
- exports.PromptCacheTelemetry = PromptCacheTelemetry;
44
-
45
- //# sourceMappingURL=promptCacheTelemetry.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptCacheTelemetry.cjs","names":[],"sources":["../../../src/models/promptCacheTelemetry.ts"],"sourcesContent":["import type {\n PromptCacheObservation,\n PromptCacheRequestStatus,\n PromptCacheTelemetryPort,\n PromptCacheTelemetrySnapshot,\n PromptCacheUsage,\n} from '../types/cache';\n\nconst DEFAULT_OBSERVATION_LIMIT = 64;\n\nexport class PromptCacheTelemetry implements PromptCacheTelemetryPort {\n readonly #limit: number;\n #request: PromptCacheRequestStatus = { capability: 'unknown' };\n #observations: PromptCacheObservation[] = [];\n\n constructor(limit: number = DEFAULT_OBSERVATION_LIMIT) {\n if (!Number.isInteger(limit) || limit < 1)\n throw new Error('Prompt cache telemetry limit must be a positive integer.');\n this.#limit = limit;\n }\n\n beginRequest(status: PromptCacheRequestStatus): void {\n this.#request = { ...status };\n }\n\n observe(usage: PromptCacheUsage, observedAt: number): void {\n const namespace = this.#request.namespace;\n const modelFingerprint = this.#request.modelFingerprint;\n if (!namespace || !modelFingerprint) return;\n\n this.#observations.push({\n namespace,\n modelFingerprint,\n cacheRead: usage.cacheRead,\n cacheWrite: usage.cacheWrite,\n totalInput: usage.totalInput,\n observedAt,\n });\n if (this.#observations.length > this.#limit) {\n this.#observations.splice(0, this.#observations.length - this.#limit);\n }\n }\n\n snapshot(): PromptCacheTelemetrySnapshot {\n const observations = [...this.#observations];\n return {\n ...this.#request,\n residency: 'unknown',\n observations,\n ...(observations.length > 0 ? { lastObservation: observations.at(-1) } : {}),\n };\n }\n\n reset(): void {\n this.#request = { capability: 'unknown' };\n this.#observations = [];\n }\n}\n"],"mappings":";AAQA,MAAM,4BAA4B;AAElC,IAAa,uBAAb,MAAsE;CACpE;CACA,WAAqC,EAAE,YAAY,UAAU;CAC7D,gBAA0C,CAAC;CAE3C,YAAY,QAAgB,2BAA2B;EACrD,IAAI,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GACtC,MAAM,IAAI,MAAM,0DAA0D;EAC5E,KAAK,SAAS;CAChB;CAEA,aAAa,QAAwC;EACnD,KAAK,WAAW,EAAE,GAAG,OAAO;CAC9B;CAEA,QAAQ,OAAyB,YAA0B;EACzD,MAAM,YAAY,KAAK,SAAS;EAChC,MAAM,mBAAmB,KAAK,SAAS;EACvC,IAAI,CAAC,aAAa,CAAC,kBAAkB;EAErC,KAAK,cAAc,KAAK;GACtB;GACA;GACA,WAAW,MAAM;GACjB,YAAY,MAAM;GAClB,YAAY,MAAM;GAClB;EACF,CAAC;EACD,IAAI,KAAK,cAAc,SAAS,KAAK,QACnC,KAAK,cAAc,OAAO,GAAG,KAAK,cAAc,SAAS,KAAK,MAAM;CAExE;CAEA,WAAyC;EACvC,MAAM,eAAe,CAAC,GAAG,KAAK,aAAa;EAC3C,OAAO;GACL,GAAG,KAAK;GACR,WAAW;GACX;GACA,GAAI,aAAa,SAAS,IAAI,EAAE,iBAAiB,aAAa,GAAG,EAAE,EAAE,IAAI,CAAC;EAC5E;CACF;CAEA,QAAc;EACZ,KAAK,WAAW,EAAE,YAAY,UAAU;EACxC,KAAK,gBAAgB,CAAC;CACxB;AACF"}
@@ -1,12 +0,0 @@
1
- import { PromptCacheRequestStatus, PromptCacheTelemetryPort, PromptCacheTelemetrySnapshot, PromptCacheUsage } from "../types/cache.cjs";
2
- //#region src/models/promptCacheTelemetry.d.ts
3
- export declare class PromptCacheTelemetry implements PromptCacheTelemetryPort {
4
- #private;
5
- constructor(limit?: number);
6
- beginRequest(status: PromptCacheRequestStatus): void;
7
- observe(usage: PromptCacheUsage, observedAt: number): void;
8
- snapshot(): PromptCacheTelemetrySnapshot;
9
- reset(): void;
10
- }
11
- //#endregion
12
- //# sourceMappingURL=promptCacheTelemetry.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptCacheTelemetry.d.cts","names":[],"sources":["../../../src/models/promptCacheTelemetry.ts"],"mappings":";;qBAUa,gCAAgC;;EAK3C,YAAY;EAMZ,aAAa,QAAQ;EAIrB,QAAQ,OAAO,kBAAkB;EAkBjC,YAAY;EAUZ"}
@@ -1,12 +0,0 @@
1
- import { PromptCacheRequestStatus, PromptCacheTelemetryPort, PromptCacheTelemetrySnapshot, PromptCacheUsage } from "../types/cache.mjs";
2
- //#region src/models/promptCacheTelemetry.d.ts
3
- export declare class PromptCacheTelemetry implements PromptCacheTelemetryPort {
4
- #private;
5
- constructor(limit?: number);
6
- beginRequest(status: PromptCacheRequestStatus): void;
7
- observe(usage: PromptCacheUsage, observedAt: number): void;
8
- snapshot(): PromptCacheTelemetrySnapshot;
9
- reset(): void;
10
- }
11
- //#endregion
12
- //# sourceMappingURL=promptCacheTelemetry.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptCacheTelemetry.d.mts","names":[],"sources":["../../../src/models/promptCacheTelemetry.ts"],"mappings":";;qBAUa,gCAAgC;;EAK3C,YAAY;EAMZ,aAAa,QAAQ;EAIrB,QAAQ,OAAO,kBAAkB;EAkBjC,YAAY;EAUZ"}
@@ -1,45 +0,0 @@
1
- //#region src/models/promptCacheTelemetry.ts
2
- const DEFAULT_OBSERVATION_LIMIT = 64;
3
- var PromptCacheTelemetry = class {
4
- #limit;
5
- #request = { capability: "unknown" };
6
- #observations = [];
7
- constructor(limit = DEFAULT_OBSERVATION_LIMIT) {
8
- if (!Number.isInteger(limit) || limit < 1) throw new Error("Prompt cache telemetry limit must be a positive integer.");
9
- this.#limit = limit;
10
- }
11
- beginRequest(status) {
12
- this.#request = { ...status };
13
- }
14
- observe(usage, observedAt) {
15
- const namespace = this.#request.namespace;
16
- const modelFingerprint = this.#request.modelFingerprint;
17
- if (!namespace || !modelFingerprint) return;
18
- this.#observations.push({
19
- namespace,
20
- modelFingerprint,
21
- cacheRead: usage.cacheRead,
22
- cacheWrite: usage.cacheWrite,
23
- totalInput: usage.totalInput,
24
- observedAt
25
- });
26
- if (this.#observations.length > this.#limit) this.#observations.splice(0, this.#observations.length - this.#limit);
27
- }
28
- snapshot() {
29
- const observations = [...this.#observations];
30
- return {
31
- ...this.#request,
32
- residency: "unknown",
33
- observations,
34
- ...observations.length > 0 ? { lastObservation: observations.at(-1) } : {}
35
- };
36
- }
37
- reset() {
38
- this.#request = { capability: "unknown" };
39
- this.#observations = [];
40
- }
41
- };
42
- //#endregion
43
- export { PromptCacheTelemetry };
44
-
45
- //# sourceMappingURL=promptCacheTelemetry.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptCacheTelemetry.mjs","names":[],"sources":["../../../src/models/promptCacheTelemetry.ts"],"sourcesContent":["import type {\n PromptCacheObservation,\n PromptCacheRequestStatus,\n PromptCacheTelemetryPort,\n PromptCacheTelemetrySnapshot,\n PromptCacheUsage,\n} from '../types/cache';\n\nconst DEFAULT_OBSERVATION_LIMIT = 64;\n\nexport class PromptCacheTelemetry implements PromptCacheTelemetryPort {\n readonly #limit: number;\n #request: PromptCacheRequestStatus = { capability: 'unknown' };\n #observations: PromptCacheObservation[] = [];\n\n constructor(limit: number = DEFAULT_OBSERVATION_LIMIT) {\n if (!Number.isInteger(limit) || limit < 1)\n throw new Error('Prompt cache telemetry limit must be a positive integer.');\n this.#limit = limit;\n }\n\n beginRequest(status: PromptCacheRequestStatus): void {\n this.#request = { ...status };\n }\n\n observe(usage: PromptCacheUsage, observedAt: number): void {\n const namespace = this.#request.namespace;\n const modelFingerprint = this.#request.modelFingerprint;\n if (!namespace || !modelFingerprint) return;\n\n this.#observations.push({\n namespace,\n modelFingerprint,\n cacheRead: usage.cacheRead,\n cacheWrite: usage.cacheWrite,\n totalInput: usage.totalInput,\n observedAt,\n });\n if (this.#observations.length > this.#limit) {\n this.#observations.splice(0, this.#observations.length - this.#limit);\n }\n }\n\n snapshot(): PromptCacheTelemetrySnapshot {\n const observations = [...this.#observations];\n return {\n ...this.#request,\n residency: 'unknown',\n observations,\n ...(observations.length > 0 ? { lastObservation: observations.at(-1) } : {}),\n };\n }\n\n reset(): void {\n this.#request = { capability: 'unknown' };\n this.#observations = [];\n }\n}\n"],"mappings":";AAQA,MAAM,4BAA4B;AAElC,IAAa,uBAAb,MAAsE;CACpE;CACA,WAAqC,EAAE,YAAY,UAAU;CAC7D,gBAA0C,CAAC;CAE3C,YAAY,QAAgB,2BAA2B;EACrD,IAAI,CAAC,OAAO,UAAU,KAAK,KAAK,QAAQ,GACtC,MAAM,IAAI,MAAM,0DAA0D;EAC5E,KAAK,SAAS;CAChB;CAEA,aAAa,QAAwC;EACnD,KAAK,WAAW,EAAE,GAAG,OAAO;CAC9B;CAEA,QAAQ,OAAyB,YAA0B;EACzD,MAAM,YAAY,KAAK,SAAS;EAChC,MAAM,mBAAmB,KAAK,SAAS;EACvC,IAAI,CAAC,aAAa,CAAC,kBAAkB;EAErC,KAAK,cAAc,KAAK;GACtB;GACA;GACA,WAAW,MAAM;GACjB,YAAY,MAAM;GAClB,YAAY,MAAM;GAClB;EACF,CAAC;EACD,IAAI,KAAK,cAAc,SAAS,KAAK,QACnC,KAAK,cAAc,OAAO,GAAG,KAAK,cAAc,SAAS,KAAK,MAAM;CAExE;CAEA,WAAyC;EACvC,MAAM,eAAe,CAAC,GAAG,KAAK,aAAa;EAC3C,OAAO;GACL,GAAG,KAAK;GACR,WAAW;GACX;GACA,GAAI,aAAa,SAAS,IAAI,EAAE,iBAAiB,aAAa,GAAG,EAAE,EAAE,IAAI,CAAC;EAC5E;CACF;CAEA,QAAc;EACZ,KAAK,WAAW,EAAE,YAAY,UAAU;EACxC,KAAK,gBAAgB,CAAC;CACxB;AACF"}
@@ -1,13 +0,0 @@
1
- //#region src/schemas/apiContracts.ts
2
- /** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */
3
- const apiContracts = (0, require("@agimon-ai/doompi-core/api-contracts").defineApiContract)({
4
- version: 1,
5
- http: [],
6
- sockets: [],
7
- dynamic: []
8
- });
9
- //#endregion
10
- exports.apiContracts = apiContracts;
11
- exports.default = apiContracts;
12
-
13
- //# sourceMappingURL=apiContracts.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiContracts.cjs","names":["defineApiContract"],"sources":["../../../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineApiContract } from '@agimon-ai/doompi-core/api-contracts';\n\n/** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */\nexport const apiContracts = defineApiContract({ version: 1, http: [], sockets: [], dynamic: [] });\nexport default apiContracts;\n"],"mappings":";;AAGA,MAAa,gBAAA,iDAAeA,CAAAA,CAAAA,kBAAAA,CAAkB;CAAE,SAAS;CAAG,MAAM,CAAC;CAAG,SAAS,CAAC;CAAG,SAAS,CAAC;AAAE,CAAC"}
@@ -1,53 +0,0 @@
1
- //#region src/schemas/apiContracts.d.ts
2
- /** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */
3
- export declare const apiContracts: {
4
- version: 1;
5
- protocols?: Record<string, string> | undefined;
6
- schemas?: Record<string, boolean | object> | undefined;
7
- http: {
8
- id: string;
9
- scope: "global" | "session" | "workspace";
10
- basePath?: string | undefined;
11
- path: string;
12
- method: "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT";
13
- description: string;
14
- availability?: string | undefined;
15
- authentication: "device" | "none" | "owner";
16
- parameters?: {
17
- name: string;
18
- in: "header" | "path" | "query";
19
- required: boolean;
20
- schema: boolean | object;
21
- }[] | undefined;
22
- body?: {
23
- contentType: string;
24
- contentTypes?: string[] | undefined;
25
- required: boolean;
26
- schema: boolean | object;
27
- } | undefined;
28
- responses: Record<string, {
29
- description: string;
30
- contentType?: string | undefined;
31
- schema?: boolean | object | undefined;
32
- events?: Record<string, boolean | object> | undefined;
33
- }>;
34
- }[];
35
- sockets: {
36
- id: string;
37
- scope: "global" | "session" | "workspace";
38
- description: string;
39
- availability?: string | undefined;
40
- service: string;
41
- member: string;
42
- direction: "client-to-server" | "server-to-client";
43
- kind: "channel" | "method" | "state";
44
- input: boolean | object;
45
- output?: boolean | object | undefined;
46
- errors?: boolean | object | undefined;
47
- }[];
48
- dynamic: string[];
49
- gaps?: string[] | undefined;
50
- };
51
- //#endregion
52
- export { apiContracts as default };
53
- //# sourceMappingURL=apiContracts.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiContracts.d.cts","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"mappings":";;qBAGa"}
@@ -1,53 +0,0 @@
1
- //#region src/schemas/apiContracts.d.ts
2
- /** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */
3
- export declare const apiContracts: {
4
- version: 1;
5
- protocols?: Record<string, string> | undefined;
6
- schemas?: Record<string, boolean | object> | undefined;
7
- http: {
8
- id: string;
9
- scope: "global" | "session" | "workspace";
10
- basePath?: string | undefined;
11
- path: string;
12
- method: "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT";
13
- description: string;
14
- availability?: string | undefined;
15
- authentication: "device" | "none" | "owner";
16
- parameters?: {
17
- name: string;
18
- in: "header" | "path" | "query";
19
- required: boolean;
20
- schema: boolean | object;
21
- }[] | undefined;
22
- body?: {
23
- contentType: string;
24
- contentTypes?: string[] | undefined;
25
- required: boolean;
26
- schema: boolean | object;
27
- } | undefined;
28
- responses: Record<string, {
29
- description: string;
30
- contentType?: string | undefined;
31
- schema?: boolean | object | undefined;
32
- events?: Record<string, boolean | object> | undefined;
33
- }>;
34
- }[];
35
- sockets: {
36
- id: string;
37
- scope: "global" | "session" | "workspace";
38
- description: string;
39
- availability?: string | undefined;
40
- service: string;
41
- member: string;
42
- direction: "client-to-server" | "server-to-client";
43
- kind: "channel" | "method" | "state";
44
- input: boolean | object;
45
- output?: boolean | object | undefined;
46
- errors?: boolean | object | undefined;
47
- }[];
48
- dynamic: string[];
49
- gaps?: string[] | undefined;
50
- };
51
- //#endregion
52
- export { apiContracts as default };
53
- //# sourceMappingURL=apiContracts.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiContracts.d.mts","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"mappings":";;qBAGa"}
@@ -1,13 +0,0 @@
1
- import { defineApiContract } from "@agimon-ai/doompi-core/api-contracts";
2
- //#region src/schemas/apiContracts.ts
3
- /** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */
4
- const apiContracts = defineApiContract({
5
- version: 1,
6
- http: [],
7
- sockets: [],
8
- dynamic: []
9
- });
10
- //#endregion
11
- export { apiContracts, apiContracts as default };
12
-
13
- //# sourceMappingURL=apiContracts.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiContracts.mjs","names":[],"sources":["../../../src/schemas/apiContracts.ts"],"sourcesContent":["import { defineApiContract } from '@agimon-ai/doompi-core/api-contracts';\n\n/** This facet contributes agent tools, commands or lifecycle only, with no separate HTTP or socket surface. */\nexport const apiContracts = defineApiContract({ version: 1, http: [], sockets: [], dynamic: [] });\nexport default apiContracts;\n"],"mappings":";;;AAGA,MAAa,eAAe,kBAAkB;CAAE,SAAS;CAAG,MAAM,CAAC;CAAG,SAAS,CAAC;CAAG,SAAS,CAAC;AAAE,CAAC"}
@@ -1,28 +0,0 @@
1
- //#region src/services/canonical/index.ts
2
- function canonicalNumber(value) {
3
- if (!Number.isFinite(value)) throw new Error("Prompt cache identity cannot contain a non-finite number.");
4
- return Object.is(value, -0) ? 0 : value;
5
- }
6
- function canonicalValue(value) {
7
- if (value === null) return null;
8
- if (typeof value === "string") return value.normalize("NFC");
9
- if (typeof value === "boolean") return value;
10
- if (typeof value === "number") return canonicalNumber(value);
11
- if (Array.isArray(value)) return value.map((entry) => canonicalValue(entry));
12
- if (typeof value !== "object") throw new Error(`Unsupported prompt cache identity value: ${typeof value}.`);
13
- const record = value;
14
- const result = {};
15
- for (const key of Object.keys(record).sort((left, right) => left.localeCompare(right))) {
16
- const entry = record[key];
17
- if (entry !== void 0) result[key.normalize("NFC")] = canonicalValue(entry);
18
- }
19
- return result;
20
- }
21
- function canonicalJson(value) {
22
- return JSON.stringify(canonicalValue(value));
23
- }
24
- //#endregion
25
- exports.canonicalJson = canonicalJson;
26
- exports.canonicalValue = canonicalValue;
27
-
28
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/services/canonical/index.ts"],"sourcesContent":["export type CanonicalValue = null | boolean | number | string | readonly CanonicalValue[] | CanonicalObject;\n\nexport interface CanonicalObject {\n readonly [key: string]: CanonicalValue;\n}\n\nfunction canonicalNumber(value: number): number {\n if (!Number.isFinite(value)) throw new Error('Prompt cache identity cannot contain a non-finite number.');\n return Object.is(value, -0) ? 0 : value;\n}\n\nexport function canonicalValue(value: unknown): CanonicalValue {\n if (value === null) return null;\n if (typeof value === 'string') return value.normalize('NFC');\n if (typeof value === 'boolean') return value;\n if (typeof value === 'number') return canonicalNumber(value);\n if (Array.isArray(value)) return value.map((entry) => canonicalValue(entry));\n if (typeof value !== 'object') throw new Error(`Unsupported prompt cache identity value: ${typeof value}.`);\n\n const record = value as Readonly<Record<string, unknown>>;\n const result: Record<string, CanonicalValue> = {};\n for (const key of Object.keys(record).sort((left, right) => left.localeCompare(right))) {\n const entry = record[key];\n if (entry !== undefined) result[key.normalize('NFC')] = canonicalValue(entry);\n }\n return result;\n}\n\nexport function canonicalJson(value: unknown): string {\n return JSON.stringify(canonicalValue(value));\n}\n"],"mappings":";AAMA,SAAS,gBAAgB,OAAuB;CAC9C,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,MAAM,IAAI,MAAM,2DAA2D;CACxG,OAAO,OAAO,GAAG,OAAO,EAAE,IAAI,IAAI;AACpC;AAEA,SAAgB,eAAe,OAAgC;CAC7D,IAAI,UAAU,MAAM,OAAO;CAC3B,IAAI,OAAO,UAAU,UAAU,OAAO,MAAM,UAAU,KAAK;CAC3D,IAAI,OAAO,UAAU,WAAW,OAAO;CACvC,IAAI,OAAO,UAAU,UAAU,OAAO,gBAAgB,KAAK;CAC3D,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,eAAe,KAAK,CAAC;CAC3E,IAAI,OAAO,UAAU,UAAU,MAAM,IAAI,MAAM,4CAA4C,OAAO,MAAM,EAAE;CAE1G,MAAM,SAAS;CACf,MAAM,SAAyC,CAAC;CAChD,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,MAAM,MAAM,UAAU,KAAK,cAAc,KAAK,CAAC,GAAG;EACtF,MAAM,QAAQ,OAAO;EACrB,IAAI,UAAU,KAAA,GAAW,OAAO,IAAI,UAAU,KAAK,KAAK,eAAe,KAAK;CAC9E;CACA,OAAO;AACT;AAEA,SAAgB,cAAc,OAAwB;CACpD,OAAO,KAAK,UAAU,eAAe,KAAK,CAAC;AAC7C"}
@@ -1,9 +0,0 @@
1
- //#region src/services/canonical/index.d.ts
2
- export type CanonicalValue = null | boolean | number | string | readonly CanonicalValue[] | CanonicalObject;
3
- export interface CanonicalObject {
4
- readonly [key: string]: CanonicalValue;
5
- }
6
- export declare function canonicalValue(value: unknown): CanonicalValue;
7
- export declare function canonicalJson(value: unknown): string;
8
- //#endregion
9
- //# sourceMappingURL=index.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../../src/services/canonical/index.ts"],"mappings":";YAAY,6DAA6D,mBAAmB;iBAE3E;YACL,cAAc;;wBAQV,eAAe,iBAAiB;wBAiBhC,cAAc"}
@@ -1,9 +0,0 @@
1
- //#region src/services/canonical/index.d.ts
2
- export type CanonicalValue = null | boolean | number | string | readonly CanonicalValue[] | CanonicalObject;
3
- export interface CanonicalObject {
4
- readonly [key: string]: CanonicalValue;
5
- }
6
- export declare function canonicalValue(value: unknown): CanonicalValue;
7
- export declare function canonicalJson(value: unknown): string;
8
- //#endregion
9
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../../src/services/canonical/index.ts"],"mappings":";YAAY,6DAA6D,mBAAmB;iBAE3E;YACL,cAAc;;wBAQV,eAAe,iBAAiB;wBAiBhC,cAAc"}
@@ -1,27 +0,0 @@
1
- //#region src/services/canonical/index.ts
2
- function canonicalNumber(value) {
3
- if (!Number.isFinite(value)) throw new Error("Prompt cache identity cannot contain a non-finite number.");
4
- return Object.is(value, -0) ? 0 : value;
5
- }
6
- function canonicalValue(value) {
7
- if (value === null) return null;
8
- if (typeof value === "string") return value.normalize("NFC");
9
- if (typeof value === "boolean") return value;
10
- if (typeof value === "number") return canonicalNumber(value);
11
- if (Array.isArray(value)) return value.map((entry) => canonicalValue(entry));
12
- if (typeof value !== "object") throw new Error(`Unsupported prompt cache identity value: ${typeof value}.`);
13
- const record = value;
14
- const result = {};
15
- for (const key of Object.keys(record).sort((left, right) => left.localeCompare(right))) {
16
- const entry = record[key];
17
- if (entry !== void 0) result[key.normalize("NFC")] = canonicalValue(entry);
18
- }
19
- return result;
20
- }
21
- function canonicalJson(value) {
22
- return JSON.stringify(canonicalValue(value));
23
- }
24
- //#endregion
25
- export { canonicalJson, canonicalValue };
26
-
27
- //# sourceMappingURL=index.mjs.map