@intentic/sandbox-contract 1.158.0 → 1.160.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 (122) hide show
  1. package/dist/agent-catalog.d.ts +10 -0
  2. package/dist/agent-catalog.d.ts.map +1 -1
  3. package/dist/agent-catalog.js +14 -1
  4. package/dist/agent-catalog.js.map +1 -1
  5. package/dist/contracts/agent.contract.d.ts +74 -4
  6. package/dist/contracts/agent.contract.d.ts.map +1 -1
  7. package/dist/contracts/agent.contract.js +2 -1
  8. package/dist/contracts/agent.contract.js.map +1 -1
  9. package/dist/contracts/agents.contract.d.ts +248 -0
  10. package/dist/contracts/agents.contract.d.ts.map +1 -1
  11. package/dist/contracts/agents.contract.js +7 -2
  12. package/dist/contracts/agents.contract.js.map +1 -1
  13. package/dist/contracts/automations.contract.d.ts +7 -0
  14. package/dist/contracts/automations.contract.d.ts.map +1 -1
  15. package/dist/contracts/claude.contract.d.ts +26 -0
  16. package/dist/contracts/claude.contract.d.ts.map +1 -1
  17. package/dist/contracts/claude.contract.js +2 -1
  18. package/dist/contracts/claude.contract.js.map +1 -1
  19. package/dist/contracts/extensions.contract.d.ts +1 -0
  20. package/dist/contracts/extensions.contract.d.ts.map +1 -1
  21. package/dist/contracts/git.contract.d.ts +13 -0
  22. package/dist/contracts/git.contract.d.ts.map +1 -1
  23. package/dist/contracts/git.contract.js +2 -1
  24. package/dist/contracts/git.contract.js.map +1 -1
  25. package/dist/contracts/grok.contract.d.ts +2 -0
  26. package/dist/contracts/grok.contract.d.ts.map +1 -1
  27. package/dist/contracts/kimi.contract.d.ts +26 -0
  28. package/dist/contracts/kimi.contract.d.ts.map +1 -1
  29. package/dist/contracts/kimi.contract.js +2 -1
  30. package/dist/contracts/kimi.contract.js.map +1 -1
  31. package/dist/contracts/memory.contract.d.ts +34 -0
  32. package/dist/contracts/memory.contract.d.ts.map +1 -0
  33. package/dist/contracts/memory.contract.js +9 -0
  34. package/dist/contracts/memory.contract.js.map +1 -0
  35. package/dist/contracts/panels.contract.d.ts +1 -0
  36. package/dist/contracts/panels.contract.d.ts.map +1 -1
  37. package/dist/contracts/push.contract.d.ts +1 -1
  38. package/dist/contracts/push.contract.js +2 -2
  39. package/dist/contracts/push.contract.js.map +1 -1
  40. package/dist/contracts/sessions.contract.d.ts +2 -0
  41. package/dist/contracts/sessions.contract.d.ts.map +1 -1
  42. package/dist/contracts/settings.contract.d.ts +32 -0
  43. package/dist/contracts/settings.contract.d.ts.map +1 -1
  44. package/dist/contracts/settings.contract.js +2 -1
  45. package/dist/contracts/settings.contract.js.map +1 -1
  46. package/dist/contracts/system.contract.d.ts +35 -6
  47. package/dist/contracts/system.contract.d.ts.map +1 -1
  48. package/dist/contracts/system.contract.js +2 -1
  49. package/dist/contracts/system.contract.js.map +1 -1
  50. package/dist/contracts/translator.contract.d.ts +13 -3
  51. package/dist/contracts/translator.contract.d.ts.map +1 -1
  52. package/dist/contracts/translator.contract.js +1 -1
  53. package/dist/contracts/translator.contract.js.map +1 -1
  54. package/dist/contracts/workspace.contract.d.ts +43 -5
  55. package/dist/contracts/workspace.contract.d.ts.map +1 -1
  56. package/dist/contracts/workspace.contract.js +3 -1
  57. package/dist/contracts/workspace.contract.js.map +1 -1
  58. package/dist/events.d.ts +176 -2
  59. package/dist/events.d.ts.map +1 -1
  60. package/dist/events.js +16 -5
  61. package/dist/events.js.map +1 -1
  62. package/dist/hostnames.d.ts +2 -0
  63. package/dist/hostnames.d.ts.map +1 -1
  64. package/dist/hostnames.js +27 -1
  65. package/dist/hostnames.js.map +1 -1
  66. package/dist/index.d.ts +566 -19
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +11 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/model-order.d.ts +2 -0
  71. package/dist/model-order.d.ts.map +1 -1
  72. package/dist/model-order.js +3 -0
  73. package/dist/model-order.js.map +1 -1
  74. package/dist/path-refs.d.ts +5 -0
  75. package/dist/path-refs.d.ts.map +1 -0
  76. package/dist/path-refs.js +21 -0
  77. package/dist/path-refs.js.map +1 -0
  78. package/dist/quick-model.d.ts +13 -0
  79. package/dist/quick-model.d.ts.map +1 -0
  80. package/dist/quick-model.js +33 -0
  81. package/dist/quick-model.js.map +1 -0
  82. package/dist/routes.d.ts +8 -0
  83. package/dist/routes.d.ts.map +1 -0
  84. package/dist/routes.js +39 -0
  85. package/dist/routes.js.map +1 -0
  86. package/dist/schemas.d.ts +351 -10
  87. package/dist/schemas.d.ts.map +1 -1
  88. package/dist/schemas.js +143 -13
  89. package/dist/schemas.js.map +1 -1
  90. package/dist/title.d.ts +6 -0
  91. package/dist/title.d.ts.map +1 -0
  92. package/dist/title.js +149 -0
  93. package/dist/title.js.map +1 -0
  94. package/package.json +2 -2
  95. package/src/agent-catalog.ts +51 -1
  96. package/src/contracts/agent.contract.ts +14 -1
  97. package/src/contracts/agents.contract.ts +25 -1
  98. package/src/contracts/claude.contract.ts +4 -1
  99. package/src/contracts/git.contract.ts +6 -0
  100. package/src/contracts/kimi.contract.ts +13 -2
  101. package/src/contracts/memory.contract.ts +13 -0
  102. package/src/contracts/push.contract.ts +2 -2
  103. package/src/contracts/settings.contract.ts +5 -1
  104. package/src/contracts/system.contract.ts +4 -0
  105. package/src/contracts/translator.contract.ts +3 -2
  106. package/src/contracts/workspace.contract.ts +12 -0
  107. package/src/events.ts +89 -11
  108. package/src/hostnames.test.ts +22 -0
  109. package/src/hostnames.ts +40 -1
  110. package/src/index.ts +20 -0
  111. package/src/model-order.test.ts +73 -1
  112. package/src/model-order.ts +31 -0
  113. package/src/path-refs.test.ts +68 -0
  114. package/src/path-refs.ts +59 -0
  115. package/src/quick-model.test.ts +88 -0
  116. package/src/quick-model.ts +103 -0
  117. package/src/routes.test.ts +83 -0
  118. package/src/routes.ts +84 -0
  119. package/src/schemas.test.ts +23 -1
  120. package/src/schemas.ts +461 -38
  121. package/src/title.test.ts +130 -0
  122. package/src/title.ts +254 -0
package/dist/hostnames.js CHANGED
@@ -1,4 +1,5 @@
1
- export const sandboxSubdomain = (id) => `sandbox-${id}`;
1
+ const SANDBOX_PREFIX = "sandbox-";
2
+ export const sandboxSubdomain = (id) => `${SANDBOX_PREFIX}${id}`;
2
3
  export const sandboxHostname = (id, zone) => `${sandboxSubdomain(id)}.${zone}`;
3
4
  export const sshHostname = (id, zone) => `ssh-${id}.${zone}`;
4
5
  export const hostSshTunnelName = (id) => `host-ssh-${id}`;
@@ -26,6 +27,31 @@ const keyFromHost = (prefix, hostHeader, sandboxId) => {
26
27
  };
27
28
  export const panelFromHost = (hostHeader, sandboxId) => keyFromHost("preview-", hostHeader, sandboxId);
28
29
  export const portSlotFromHost = (hostHeader, sandboxId) => keyFromHost("port-", hostHeader, sandboxId);
30
+ export const sandboxIdFromUrl = (url) => {
31
+ if (url === undefined || url === "") {
32
+ return undefined;
33
+ }
34
+ const withScheme = /^[a-z][a-z0-9+.-]*:\/\//i.test(url) ? url : `https://${url}`;
35
+ let label;
36
+ try {
37
+ label = new URL(withScheme).hostname.split(".")[0] ?? "";
38
+ }
39
+ catch {
40
+ return undefined;
41
+ }
42
+ if (label === "" || label === SANDBOX_PREFIX) {
43
+ return undefined;
44
+ }
45
+ return label.startsWith(SANDBOX_PREFIX) ? label.slice(SANDBOX_PREFIX.length) : label;
46
+ };
47
+ export const syncFolder = (name, url) => {
48
+ const slug = name
49
+ .replace(/[^a-zA-Z0-9]+/g, "-")
50
+ .replace(/^-+|-+$/g, "")
51
+ .toLowerCase() || "sandbox";
52
+ const id = sandboxIdFromUrl(url);
53
+ return `~/intentic/${slug}${id === undefined ? "" : `-${id}`}`;
54
+ };
29
55
  export const zoneFromUrl = (url) => {
30
56
  if (url === undefined || url === "") {
31
57
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"hostnames.js","sourceRoot":"","sources":["../src/hostnames.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAGvG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,IAAY,EAAU,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;AAGrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;AAG1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,GAAG,QAAQ,mBAAmB,CAAC;AAG9F,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAW,CAAC;AAWjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;AAIlE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAG5E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAU,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;AAC3G,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAU,EAAE,IAAY,EAAU,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACjI,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,IAAY,EAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AAIzH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,IAAwB,EAAE,SAA6B,EAAsB,EAAE,CACrH,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACpI,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAwB,EAAE,SAA6B,EAAsB,EAAE,CACjH,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAOhI,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,UAA8B,EAAE,SAA6B,EAAsB,EAAE;IACtH,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAA8B,EAAE,SAA6B,EAAsB,EAAE,CAC/G,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAA8B,EAAE,SAA6B,EAAsB,EAAE,CAClH,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAOhD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAuB,EAAsB,EAAE;IACvE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;IACjF,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACD,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"hostnames.js","sourceRoot":"","sources":["../src/hostnames.ts"],"names":[],"mappings":"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"}