devchain-cli 0.23.3 → 0.23.4

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 (98) hide show
  1. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts +16278 -0
  2. package/dist/node_modules/@devchain/shared/schemas/project-replica.d.ts.map +1 -0
  3. package/dist/node_modules/@devchain/shared/schemas/project-replica.js +534 -0
  4. package/dist/node_modules/@devchain/shared/schemas/project-replica.js.map +1 -0
  5. package/dist/server/common/errors/error-types.d.ts +14 -0
  6. package/dist/server/common/errors/error-types.js +31 -1
  7. package/dist/server/common/errors/error-types.js.map +1 -1
  8. package/dist/server/modules/epics/services/epics.service.d.ts +17 -6
  9. package/dist/server/modules/epics/services/epics.service.js +92 -28
  10. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  11. package/dist/server/modules/epics/utils/apply-description-edits.d.ts +21 -0
  12. package/dist/server/modules/epics/utils/apply-description-edits.js +81 -0
  13. package/dist/server/modules/epics/utils/apply-description-edits.js.map +1 -0
  14. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +325 -5
  15. package/dist/server/modules/mcp/dtos/mcp.dto.js +55 -2
  16. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  17. package/dist/server/modules/mcp/services/handlers/agent-tools.js +8 -1
  18. package/dist/server/modules/mcp/services/handlers/agent-tools.js.map +1 -1
  19. package/dist/server/modules/mcp/services/handlers/epic-tools.js +60 -3
  20. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  21. package/dist/server/modules/mcp/services/handlers/skill-context.d.ts +2 -0
  22. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
  23. package/dist/server/modules/mcp/services/handlers/skill-tools.js +210 -15
  24. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  25. package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +7 -2
  26. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +51 -9
  27. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -1
  28. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  29. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +10 -5
  30. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  31. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +1 -1
  32. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +1 -1
  33. package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -1
  34. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js +1 -1
  35. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js.map +1 -1
  36. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +2 -0
  37. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  38. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +69 -21
  39. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  40. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +6 -0
  41. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
  42. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js +105 -3
  43. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js.map +1 -1
  44. package/dist/server/modules/session-reader/data/pricing.json +206 -877
  45. package/dist/server/modules/skills/adapters/github-skill-source.base.d.ts +1 -0
  46. package/dist/server/modules/skills/adapters/github-skill-source.base.js +29 -14
  47. package/dist/server/modules/skills/adapters/github-skill-source.base.js.map +1 -1
  48. package/dist/server/modules/skills/adapters/local-skill-source.adapter.d.ts +1 -0
  49. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js +47 -9
  50. package/dist/server/modules/skills/adapters/local-skill-source.adapter.js.map +1 -1
  51. package/dist/server/modules/skills/dtos/community-sources.dto.d.ts +124 -0
  52. package/dist/server/modules/skills/dtos/community-sources.dto.js +5 -0
  53. package/dist/server/modules/skills/dtos/community-sources.dto.js.map +1 -1
  54. package/dist/server/modules/skills/dtos/local-sources.dto.d.ts +38 -0
  55. package/dist/server/modules/skills/dtos/local-sources.dto.js +2 -0
  56. package/dist/server/modules/skills/dtos/local-sources.dto.js.map +1 -1
  57. package/dist/server/modules/skills/dtos/skill.dto.d.ts +22 -0
  58. package/dist/server/modules/skills/dtos/skill.dto.js +13 -1
  59. package/dist/server/modules/skills/dtos/skill.dto.js.map +1 -1
  60. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js +2 -2
  61. package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -1
  62. package/dist/server/modules/skills/services/skills.service.d.ts +64 -0
  63. package/dist/server/modules/skills/services/skills.service.js +211 -29
  64. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  65. package/dist/server/modules/skills/skills.module.js +1 -0
  66. package/dist/server/modules/skills/skills.module.js.map +1 -1
  67. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +9 -1
  68. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  69. package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +2 -1
  70. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +28 -8
  71. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  72. package/dist/server/modules/subscribers/actions/action.interface.d.ts +2 -0
  73. package/dist/server/modules/subscribers/actions/delete-agent.action.js +9 -0
  74. package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -1
  75. package/dist/server/modules/subscribers/actions/epic-status-guard.d.ts +25 -0
  76. package/dist/server/modules/subscribers/actions/epic-status-guard.js +94 -0
  77. package/dist/server/modules/subscribers/actions/epic-status-guard.js.map +1 -0
  78. package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +1 -0
  79. package/dist/server/modules/subscribers/actions/family-agent-targets.js +1 -0
  80. package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -1
  81. package/dist/server/modules/subscribers/actions/terminate-session.action.js +13 -0
  82. package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -1
  83. package/dist/server/templates/teams-dev.json +294 -286
  84. package/dist/server/tsconfig.tsbuildinfo +1 -1
  85. package/dist/server/ui/assets/{ExternalRichEditor-akgwTdms.js → ExternalRichEditor-hN7WihF_.js} +24 -24
  86. package/dist/server/ui/assets/ReviewDetailPage-1rhwlpY0.js +1 -0
  87. package/dist/server/ui/assets/ReviewsPage-CzwQnlGJ.js +6 -0
  88. package/dist/server/ui/assets/index--XE2vc98.css +32 -0
  89. package/dist/server/ui/assets/index-BDSngJhg.js +1197 -0
  90. package/dist/server/ui/assets/useReviewSubscription-DdxeJTmK.js +69 -0
  91. package/dist/server/ui/index.html +2 -2
  92. package/dist/templates/teams-dev.json +294 -286
  93. package/package.json +10 -1
  94. package/dist/server/ui/assets/ReviewDetailPage-10JU-Gdr.js +0 -1
  95. package/dist/server/ui/assets/ReviewsPage-BIVn-pS5.js +0 -6
  96. package/dist/server/ui/assets/index-Bg8fZbSZ.css +0 -32
  97. package/dist/server/ui/assets/index-DHmiffN1.js +0 -1000
  98. package/dist/server/ui/assets/useReviewSubscription-Xua63feT.js +0 -69
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-replica.d.ts","sourceRoot":"","sources":["../../src/schemas/project-replica.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAEjF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AAMZ,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAQZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,mBAAmB,IAAI,OAAO,CACxE,gBAAgB,EAChB;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CACb,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAG1F,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,0BAA0B,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,MAAM,oBAAoB,CAAC;AACjE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,uBAAuB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAMnG,eAAO,MAAM,mBAAmB;;;;;;;;;EAKrB,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0C7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAU9F,eAAO,MAAM,4BAA4B,kDAAkD,CAAC;AAG5F,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAO5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,gCAAgC;;;;;;;;;EAKlC,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -0,0 +1,534 @@
1
+ import { z } from 'zod';
2
+ export const PROJECT_REPLICA_VERSION = 1;
3
+ export const ProjectReplicaScopeSchema = z.enum(['attach', 'detach', 'live']);
4
+ export const PROJECT_REPLICA_SETTING_KEYS = [
5
+ 'initialSessionPromptIds',
6
+ 'autoClean.statusIds',
7
+ 'messagePool.projects',
8
+ 'registryTemplates',
9
+ 'projectPresets',
10
+ 'projectActivePresets',
11
+ ];
12
+ const id = z.string().min(1);
13
+ const timestamp = z.string().min(1);
14
+ const sqliteBool = z.union([z.literal(0), z.literal(1)]);
15
+ const int = z.number().int();
16
+ const text = z.string();
17
+ export const ReplicaProjectRowSchema = z
18
+ .object({
19
+ id,
20
+ workspace_id: id,
21
+ name: text,
22
+ description: text.nullable(),
23
+ root_path: text,
24
+ is_template: sqliteBool.nullable(),
25
+ is_private: sqliteBool.nullable(),
26
+ owner_user_id: text.nullable(),
27
+ created_at: timestamp,
28
+ updated_at: timestamp,
29
+ })
30
+ .strict();
31
+ export const ReplicaStatusRowSchema = z
32
+ .object({
33
+ id,
34
+ project_id: id,
35
+ label: text,
36
+ color: text,
37
+ position: int,
38
+ mcp_hidden: sqliteBool,
39
+ created_at: timestamp,
40
+ updated_at: timestamp,
41
+ })
42
+ .strict();
43
+ export const ReplicaTagRowSchema = z
44
+ .object({
45
+ id,
46
+ project_id: id.nullable(),
47
+ name: text,
48
+ created_at: timestamp,
49
+ updated_at: timestamp,
50
+ })
51
+ .strict();
52
+ export const ReplicaPromptRowSchema = z
53
+ .object({
54
+ id,
55
+ project_id: id.nullable(),
56
+ title: text,
57
+ content: text,
58
+ version: int,
59
+ created_at: timestamp,
60
+ updated_at: timestamp,
61
+ })
62
+ .strict();
63
+ export const ReplicaPromptTagRowSchema = z
64
+ .object({
65
+ prompt_id: id,
66
+ tag_id: id,
67
+ created_at: timestamp,
68
+ })
69
+ .strict();
70
+ export const ReplicaAgentProfileRowSchema = z
71
+ .object({
72
+ id,
73
+ project_id: id.nullable(),
74
+ name: text,
75
+ family_slug: text.nullable(),
76
+ system_prompt: text.nullable(),
77
+ instructions: text.nullable(),
78
+ temperature: int.nullable(),
79
+ max_tokens: int.nullable(),
80
+ created_at: timestamp,
81
+ updated_at: timestamp,
82
+ })
83
+ .strict();
84
+ export const ReplicaAgentProfilePromptRowSchema = z
85
+ .object({
86
+ profile_id: id,
87
+ prompt_id: id,
88
+ created_at: timestamp,
89
+ })
90
+ .strict();
91
+ export const ReplicaProviderRefSchema = z
92
+ .object({
93
+ id,
94
+ name: text.min(1),
95
+ })
96
+ .strict();
97
+ export const ReplicaProfileProviderConfigRowSchema = z
98
+ .object({
99
+ id,
100
+ profile_id: id,
101
+ provider_id: id,
102
+ name: text,
103
+ description: text.nullable(),
104
+ options: text.nullable(),
105
+ env: text.nullable(),
106
+ model: text.nullable(),
107
+ effort: text.nullable(),
108
+ position: int,
109
+ created_at: timestamp,
110
+ updated_at: timestamp,
111
+ })
112
+ .strict();
113
+ export const ReplicaProviderEnvScopeEntrySchema = z
114
+ .object({
115
+ projectId: id,
116
+ providerName: text.min(1),
117
+ key: text.min(1),
118
+ value: text,
119
+ })
120
+ .strict();
121
+ export const ReplicaAgentRowSchema = z
122
+ .object({
123
+ id,
124
+ project_id: id,
125
+ is_project_owner: sqliteBool,
126
+ profile_id: id,
127
+ provider_config_id: id,
128
+ model_override: text.nullable(),
129
+ effort_override: text.nullable(),
130
+ name: text,
131
+ description: text.nullable(),
132
+ created_at: timestamp,
133
+ updated_at: timestamp,
134
+ })
135
+ .strict();
136
+ export const ReplicaTeamRowSchema = z
137
+ .object({
138
+ id,
139
+ project_id: id,
140
+ name: text,
141
+ description: text.nullable(),
142
+ team_lead_agent_id: id.nullable(),
143
+ max_members: int,
144
+ max_concurrent_tasks: int,
145
+ allow_team_lead_create_agents: sqliteBool,
146
+ created_at: timestamp,
147
+ updated_at: timestamp,
148
+ })
149
+ .strict();
150
+ export const ReplicaTeamMemberRowSchema = z
151
+ .object({
152
+ team_id: id,
153
+ agent_id: id,
154
+ created_at: timestamp,
155
+ })
156
+ .strict();
157
+ export const ReplicaTeamProfileRowSchema = z
158
+ .object({
159
+ team_id: id,
160
+ profile_id: id,
161
+ created_at: timestamp,
162
+ })
163
+ .strict();
164
+ export const ReplicaTeamProfileConfigRowSchema = z
165
+ .object({
166
+ team_id: id,
167
+ profile_id: id,
168
+ provider_config_id: id,
169
+ created_at: timestamp,
170
+ })
171
+ .strict();
172
+ export const ReplicaTerminalWatcherRowSchema = z
173
+ .object({
174
+ id,
175
+ project_id: id,
176
+ name: text,
177
+ description: text.nullable(),
178
+ enabled: sqliteBool,
179
+ scope: text,
180
+ scope_filter_id: text.nullable(),
181
+ poll_interval_ms: int,
182
+ viewport_lines: int,
183
+ condition: text,
184
+ idle_after_seconds: int,
185
+ cooldown_ms: int,
186
+ cooldown_mode: text,
187
+ event_name: text,
188
+ created_at: timestamp,
189
+ updated_at: timestamp,
190
+ })
191
+ .strict();
192
+ export const ReplicaAutomationSubscriberRowSchema = z
193
+ .object({
194
+ id,
195
+ project_id: id,
196
+ name: text,
197
+ description: text.nullable(),
198
+ enabled: sqliteBool,
199
+ event_name: text,
200
+ event_filter: text.nullable(),
201
+ action_type: text,
202
+ action_inputs: text,
203
+ delay_ms: int,
204
+ cooldown_ms: int,
205
+ retry_on_error: sqliteBool,
206
+ group_name: text.nullable(),
207
+ position: int,
208
+ priority: int,
209
+ created_at: timestamp,
210
+ updated_at: timestamp,
211
+ })
212
+ .strict();
213
+ export const ReplicaScheduledEpicRowSchema = z
214
+ .object({
215
+ id,
216
+ project_id: id,
217
+ name: text,
218
+ cron_expression: text,
219
+ timezone: text,
220
+ enabled: sqliteBool,
221
+ title_template: text,
222
+ description_template: text.nullable(),
223
+ template_status_id: id.nullable(),
224
+ template_parent_epic_id: id.nullable(),
225
+ template_agent_id: id.nullable(),
226
+ template_tags: text.nullable(),
227
+ allow_overlap: sqliteBool,
228
+ missed_run_policy: text,
229
+ config_version: int,
230
+ next_run_at: text.nullable(),
231
+ last_run_at: text.nullable(),
232
+ last_run_status: text.nullable(),
233
+ last_error: text.nullable(),
234
+ created_at: timestamp,
235
+ updated_at: timestamp,
236
+ })
237
+ .strict();
238
+ export const ReplicaProjectSettingEntrySchema = z
239
+ .object({
240
+ project_id: id,
241
+ key: z.enum(PROJECT_REPLICA_SETTING_KEYS),
242
+ value: z.unknown().refine((value) => value !== undefined, { message: 'Required' }),
243
+ })
244
+ .strict();
245
+ export const ReplicaEpicRowSchema = z
246
+ .object({
247
+ id,
248
+ project_id: id,
249
+ title: text,
250
+ description: text.nullable(),
251
+ status_id: id,
252
+ parent_id: id.nullable(),
253
+ agent_id: id.nullable(),
254
+ created_by: text.nullable(),
255
+ version: int,
256
+ data: text.nullable(),
257
+ skills_required: text.nullable(),
258
+ created_at: timestamp,
259
+ updated_at: timestamp,
260
+ })
261
+ .strict();
262
+ export const ReplicaEpicTagEntrySchema = z
263
+ .object({
264
+ epic_id: id,
265
+ tag_name: text.min(1),
266
+ created_at: timestamp,
267
+ })
268
+ .strict();
269
+ export const ReplicaEpicCommentRowSchema = z
270
+ .object({
271
+ id,
272
+ epic_id: id,
273
+ author_name: text,
274
+ content: text,
275
+ created_at: timestamp,
276
+ updated_at: timestamp,
277
+ })
278
+ .strict();
279
+ export const ReplicaEpicRelationRowSchema = z
280
+ .object({
281
+ id,
282
+ left_epic_id: id,
283
+ right_epic_id: id,
284
+ type: z.enum(['related', 'blocks']),
285
+ direction: z.enum(['none', 'left_to_right', 'right_to_left']),
286
+ created_by: z.enum(['user', 'agent']).nullable(),
287
+ created_by_agent_id: id.nullable(),
288
+ created_at: timestamp,
289
+ updated_at: timestamp,
290
+ })
291
+ .strict();
292
+ export const ReplicaReviewRowSchema = z
293
+ .object({
294
+ id,
295
+ project_id: id,
296
+ epic_id: id.nullable(),
297
+ title: text,
298
+ description: text.nullable(),
299
+ status: text,
300
+ mode: text,
301
+ base_ref: text,
302
+ head_ref: text,
303
+ base_sha: text.nullable(),
304
+ head_sha: text.nullable(),
305
+ created_by: text,
306
+ created_by_agent_id: id.nullable(),
307
+ version: int,
308
+ created_at: timestamp,
309
+ updated_at: timestamp,
310
+ })
311
+ .strict();
312
+ export const ReplicaReviewCommentRowSchema = z
313
+ .object({
314
+ id,
315
+ review_id: id,
316
+ file_path: text.nullable(),
317
+ parent_id: id.nullable(),
318
+ line_start: int.nullable(),
319
+ line_end: int.nullable(),
320
+ side: text.nullable(),
321
+ content: text,
322
+ comment_type: text,
323
+ status: text,
324
+ author_type: text,
325
+ author_agent_id: id.nullable(),
326
+ version: int,
327
+ edited_at: text.nullable(),
328
+ created_at: timestamp,
329
+ updated_at: timestamp,
330
+ })
331
+ .strict();
332
+ export const ReplicaEpicTimeSegmentRowSchema = z
333
+ .object({
334
+ id,
335
+ project_id: id,
336
+ epic_id: id.nullable(),
337
+ team_batch_id: z.null(),
338
+ attribution_source: z.enum(['direct', 'team']),
339
+ team_id_snapshot: text.nullable(),
340
+ team_name_snapshot: text.nullable(),
341
+ session_id_snapshot: text,
342
+ agent_id_snapshot: text,
343
+ agent_name_snapshot: text,
344
+ started_at: timestamp,
345
+ last_activity_at: timestamp,
346
+ closed_at: timestamp,
347
+ duration_ms: int,
348
+ created_at: timestamp,
349
+ updated_at: timestamp,
350
+ })
351
+ .strict();
352
+ export const ReplicaSessionRowSchema = z
353
+ .object({
354
+ id,
355
+ epic_id: id.nullable(),
356
+ agent_id: id.nullable(),
357
+ tmux_session_id: text.nullable(),
358
+ status: text,
359
+ started_at: timestamp,
360
+ ended_at: text.nullable(),
361
+ last_activity_at: text.nullable(),
362
+ activity_state: text.nullable(),
363
+ busy_since: text.nullable(),
364
+ transcript_path: text.nullable(),
365
+ name: text.nullable(),
366
+ provider_session_id: text.nullable(),
367
+ provider_name_at_launch: text.nullable(),
368
+ size_bytes: int.nullable(),
369
+ created_at: timestamp,
370
+ updated_at: timestamp,
371
+ })
372
+ .strict();
373
+ export const ReplicaEpicTimeSessionWatermarkRowSchema = z
374
+ .object({
375
+ session_id: id,
376
+ project_id: id,
377
+ last_activity_at: timestamp,
378
+ created_at: timestamp,
379
+ updated_at: timestamp,
380
+ })
381
+ .strict();
382
+ export const ReplicaWorkspaceSchema = z
383
+ .object({
384
+ id,
385
+ name: text.min(1),
386
+ })
387
+ .strict();
388
+ const liveTablesShape = {
389
+ projects: z.array(ReplicaProjectRowSchema).min(1),
390
+ statuses: z.array(ReplicaStatusRowSchema),
391
+ tags: z.array(ReplicaTagRowSchema),
392
+ providers: z.array(ReplicaProviderRefSchema),
393
+ agent_profiles: z.array(ReplicaAgentProfileRowSchema),
394
+ profile_provider_configs: z.array(ReplicaProfileProviderConfigRowSchema),
395
+ agents: z.array(ReplicaAgentRowSchema),
396
+ epics: z.array(ReplicaEpicRowSchema),
397
+ epic_tags: z.array(ReplicaEpicTagEntrySchema),
398
+ epic_comments: z.array(ReplicaEpicCommentRowSchema),
399
+ epic_relations: z.array(ReplicaEpicRelationRowSchema),
400
+ epic_time_segments: z.array(ReplicaEpicTimeSegmentRowSchema),
401
+ };
402
+ const configurationTablesShape = {
403
+ prompts: z.array(ReplicaPromptRowSchema),
404
+ prompt_tags: z.array(ReplicaPromptTagRowSchema),
405
+ agent_profile_prompts: z.array(ReplicaAgentProfilePromptRowSchema),
406
+ teams: z.array(ReplicaTeamRowSchema),
407
+ team_members: z.array(ReplicaTeamMemberRowSchema),
408
+ team_profiles: z.array(ReplicaTeamProfileRowSchema),
409
+ team_profile_configs: z.array(ReplicaTeamProfileConfigRowSchema),
410
+ terminal_watchers: z.array(ReplicaTerminalWatcherRowSchema),
411
+ automation_subscribers: z.array(ReplicaAutomationSubscriberRowSchema),
412
+ scheduled_epics: z.array(ReplicaScheduledEpicRowSchema),
413
+ project_settings: z.array(ReplicaProjectSettingEntrySchema),
414
+ reviews: z.array(ReplicaReviewRowSchema),
415
+ review_comments: z.array(ReplicaReviewCommentRowSchema),
416
+ };
417
+ export const ProjectReplicaLiveTablesSchema = z.object(liveTablesShape).strict();
418
+ export const ProjectReplicaAttachTablesSchema = z
419
+ .object({
420
+ ...liveTablesShape,
421
+ ...configurationTablesShape,
422
+ provider_env_scopes: z.array(ReplicaProviderEnvScopeEntrySchema),
423
+ })
424
+ .strict();
425
+ export const ProjectReplicaDetachTablesSchema = z
426
+ .object({
427
+ ...liveTablesShape,
428
+ ...configurationTablesShape,
429
+ sessions: z.array(ReplicaSessionRowSchema),
430
+ epic_time_session_watermarks: z.array(ReplicaEpicTimeSessionWatermarkRowSchema),
431
+ })
432
+ .strict();
433
+ const envelopeShape = {
434
+ version: z.literal(PROJECT_REPLICA_VERSION),
435
+ generatedAt: timestamp,
436
+ workspace: ReplicaWorkspaceSchema,
437
+ };
438
+ export const ProjectReplicaV1Schema = z.discriminatedUnion('scope', [
439
+ z
440
+ .object({
441
+ ...envelopeShape,
442
+ scope: z.literal('attach'),
443
+ tables: ProjectReplicaAttachTablesSchema,
444
+ })
445
+ .strict(),
446
+ z
447
+ .object({
448
+ ...envelopeShape,
449
+ scope: z.literal('detach'),
450
+ tables: ProjectReplicaDetachTablesSchema,
451
+ })
452
+ .strict(),
453
+ z
454
+ .object({
455
+ ...envelopeShape,
456
+ scope: z.literal('live'),
457
+ tables: ProjectReplicaLiveTablesSchema,
458
+ })
459
+ .strict(),
460
+ ]);
461
+ export const ReplicaRowRefSchema = z
462
+ .object({
463
+ table: text.min(1),
464
+ id: text.min(1),
465
+ })
466
+ .strict();
467
+ export const ProjectReplicaPreflightErrorSchema = z.discriminatedUnion('code', [
468
+ z.object({ code: z.literal('PROJECT_NOT_FOUND'), projectId: id }).strict(),
469
+ z
470
+ .object({
471
+ code: z.literal('WORKSPACE_MISMATCH'),
472
+ workspaceIds: z.array(id).min(2),
473
+ })
474
+ .strict(),
475
+ z
476
+ .object({
477
+ code: z.literal('PROVIDER_ROW_MISSING'),
478
+ providerId: id,
479
+ referencedBy: ReplicaRowRefSchema,
480
+ })
481
+ .strict(),
482
+ z
483
+ .object({
484
+ code: z.literal('PROVIDER_NOT_ON_TARGET'),
485
+ providerName: text.min(1),
486
+ })
487
+ .strict(),
488
+ z
489
+ .object({
490
+ code: z.literal('PROVIDER_ENV_INVALID'),
491
+ providerName: text.min(1),
492
+ })
493
+ .strict(),
494
+ z
495
+ .object({
496
+ code: z.literal('REFERENCED_ROW_UNAVAILABLE'),
497
+ table: z.enum([
498
+ 'project_workspaces',
499
+ 'agent_profiles',
500
+ 'profile_provider_configs',
501
+ 'prompts',
502
+ 'tags',
503
+ ]),
504
+ id,
505
+ reason: z.enum(['missing', 'other_project']),
506
+ referencedBy: ReplicaRowRefSchema,
507
+ })
508
+ .strict(),
509
+ ]);
510
+ export const PROJECT_REPLICA_CONTENT_TYPE = 'application/vnd.devchain.project-replica+json';
511
+ export const ProjectReplicaIdSetsSchema = z
512
+ .object({
513
+ epics: z.array(id),
514
+ epic_comments: z.array(id),
515
+ epic_relations: z.array(id),
516
+ epic_time_segments: z.array(id),
517
+ })
518
+ .strict();
519
+ export const ProjectReplicaChangesSchema = z
520
+ .object({
521
+ cursor: timestamp,
522
+ replica: ProjectReplicaV1Schema.refine((replica) => replica.scope === 'live', {
523
+ message: 'changes carry a live replica',
524
+ }),
525
+ idSets: ProjectReplicaIdSetsSchema.optional(),
526
+ })
527
+ .strict();
528
+ export const ProjectReplicaImportResultSchema = z
529
+ .object({
530
+ projectId: id,
531
+ cursor: timestamp,
532
+ })
533
+ .strict();
534
+ //# sourceMappingURL=project-replica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-replica.js","sourceRoot":"","sources":["../../src/schemas/project-replica.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,12 @@ export declare class UnsupportedProviderError extends AppError {
42
42
  readonly providerName: string;
43
43
  constructor(providerName: string, supportedProviders: string[]);
44
44
  }
45
+ export declare class DescriptionEditNotFoundError extends AppError {
46
+ constructor(index: number, find: string, matchCount: number);
47
+ }
48
+ export declare class DescriptionEditAmbiguousError extends AppError {
49
+ constructor(index: number, find: string, matchCount: number);
50
+ }
45
51
  export interface RelationRouteEffectFacts {
46
52
  sourceEpicId: string;
47
53
  targetEpicId: string;
@@ -49,3 +55,11 @@ export interface RelationRouteEffectFacts {
49
55
  export declare class RelationConfirmationRequiredError extends AppError {
50
56
  constructor(currentEffect: RelationRouteEffectFacts);
51
57
  }
58
+ export declare class IndexedRelationError extends AppError {
59
+ readonly relationIndex: number;
60
+ readonly cause: AppError;
61
+ constructor(relationIndex: number, cause: AppError);
62
+ }
63
+ export declare class RelationRouteConflictError extends AppError {
64
+ constructor(relationIndex: number, conflictingRelationIndex: number | null, currentEffect: RelationRouteEffectFacts);
65
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RelationConfirmationRequiredError = exports.UnsupportedProviderError = exports.TeamMemberCapReachedError = exports.PasteNotConfirmedError = exports.TimeoutError = exports.BusyError = exports.IOError = exports.StorageError = exports.OptimisticLockError = exports.ForbiddenError = exports.ConflictError = exports.ValidationError = exports.NotFoundError = exports.AppError = void 0;
3
+ exports.RelationRouteConflictError = exports.IndexedRelationError = exports.RelationConfirmationRequiredError = exports.DescriptionEditAmbiguousError = exports.DescriptionEditNotFoundError = exports.UnsupportedProviderError = exports.TeamMemberCapReachedError = exports.PasteNotConfirmedError = exports.TimeoutError = exports.BusyError = exports.IOError = exports.StorageError = exports.OptimisticLockError = exports.ForbiddenError = exports.ConflictError = exports.ValidationError = exports.NotFoundError = exports.AppError = void 0;
4
4
  class AppError extends Error {
5
5
  code;
6
6
  statusCode;
@@ -97,10 +97,40 @@ class UnsupportedProviderError extends AppError {
97
97
  }
98
98
  }
99
99
  exports.UnsupportedProviderError = UnsupportedProviderError;
100
+ class DescriptionEditNotFoundError extends AppError {
101
+ constructor(index, find, matchCount) {
102
+ super(`Description edit ${index} did not match: the "find" text does not occur in the current description.`, 'description_edit_not_found', 409, { index, find, matchCount });
103
+ }
104
+ }
105
+ exports.DescriptionEditNotFoundError = DescriptionEditNotFoundError;
106
+ class DescriptionEditAmbiguousError extends AppError {
107
+ constructor(index, find, matchCount) {
108
+ super(`Description edit ${index} is ambiguous: the "find" text occurs ${matchCount} times. Add surrounding context to make it unique.`, 'description_edit_ambiguous', 409, { index, find, matchCount });
109
+ }
110
+ }
111
+ exports.DescriptionEditAmbiguousError = DescriptionEditAmbiguousError;
100
112
  class RelationConfirmationRequiredError extends AppError {
101
113
  constructor(currentEffect) {
102
114
  super('This change displaces an active relation time route. Confirm the current route effect and retry with the accepted facts, or delete the displaced Related pair explicitly and retry.', 'relation_confirmation_required', 409, { currentEffect });
103
115
  }
104
116
  }
105
117
  exports.RelationConfirmationRequiredError = RelationConfirmationRequiredError;
118
+ class IndexedRelationError extends AppError {
119
+ relationIndex;
120
+ cause;
121
+ constructor(relationIndex, cause) {
122
+ super(cause.message, cause.code, cause.statusCode, cause.details);
123
+ this.relationIndex = relationIndex;
124
+ this.cause = cause;
125
+ }
126
+ }
127
+ exports.IndexedRelationError = IndexedRelationError;
128
+ class RelationRouteConflictError extends AppError {
129
+ constructor(relationIndex, conflictingRelationIndex, currentEffect) {
130
+ super(conflictingRelationIndex !== null
131
+ ? `Relations ${conflictingRelationIndex} and ${relationIndex} both create an eligible Related time route from the new epic. Remove or change one of them and retry.`
132
+ : `Relation ${relationIndex} conflicts with an existing eligible Related time route from the new epic. Remove or change it and retry.`, 'relation_route_conflict', 409, { relationIndex, conflictingRelationIndex, currentEffect });
133
+ }
134
+ }
135
+ exports.RelationRouteConflictError = RelationRouteConflictError;
106
136
  //# sourceMappingURL=error-types.js.map