@lucern/pack-host 1.0.36 → 1.0.38

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 (78) hide show
  1. package/dist/contracts.js +0 -2
  2. package/dist/convex.config.js +0 -2
  3. package/dist/dependencyResolution.js +0 -2
  4. package/dist/domain-pack/authoring.core.js +0 -2
  5. package/dist/domain-pack/authoring.js +0 -2
  6. package/dist/domain-pack/authoring.validation.js +0 -2
  7. package/dist/domain-pack/contracts.js +0 -2
  8. package/dist/domain-pack/index.js +0 -2
  9. package/dist/domain-pack/ontology/software-entities-v1.js +0 -2
  10. package/dist/domain-pack/packs/developer-reasoning.js +0 -2
  11. package/dist/domain-pack/packs/engineering-accelerator-tail.js +0 -2
  12. package/dist/domain-pack/packs/engineering-accelerator.js +0 -2
  13. package/dist/domain-pack/packs/index.js +0 -2
  14. package/dist/domain-pack/shaping.js +0 -2
  15. package/dist/domain-pack/validation.js +0 -2
  16. package/dist/domain-pack.js +0 -2
  17. package/dist/index.js +0 -2
  18. package/dist/lifecycle.js +0 -2
  19. package/dist/manifestValidation.js +0 -2
  20. package/dist/manifests/chat-v1.js +0 -2
  21. package/dist/manifests/deals-v1.js +0 -2
  22. package/dist/manifests/decisions-v1.js +0 -2
  23. package/dist/manifests/documents-v1.js +0 -2
  24. package/dist/manifests/epistemic-algorithms-v1.js +0 -2
  25. package/dist/manifests/graph-visualization-v1.js +0 -2
  26. package/dist/manifests/index.js +0 -2
  27. package/dist/manifests/news-v1.js +0 -2
  28. package/dist/manifests/philosophy-mode-v1.js +0 -2
  29. package/dist/manifests/sprints-v1.js +0 -2
  30. package/dist/manifests/task-management-v1.js +0 -2
  31. package/dist/manifests/team-analysis-v1.js +0 -2
  32. package/dist/manifests/themes-v1.js +0 -2
  33. package/dist/manifests/user-profiles-v1.js +0 -2
  34. package/dist/manifests.js +0 -2
  35. package/dist/namespacePolicy.js +0 -2
  36. package/dist/proof-attestation.json +1 -1
  37. package/dist/registry.js +0 -2
  38. package/dist/runtime.js +0 -2
  39. package/dist/serviceContracts.js +0 -2
  40. package/package.json +1 -1
  41. package/dist/contracts.js.map +0 -1
  42. package/dist/convex.config.js.map +0 -1
  43. package/dist/dependencyResolution.js.map +0 -1
  44. package/dist/domain-pack/authoring.core.js.map +0 -1
  45. package/dist/domain-pack/authoring.js.map +0 -1
  46. package/dist/domain-pack/authoring.validation.js.map +0 -1
  47. package/dist/domain-pack/contracts.js.map +0 -1
  48. package/dist/domain-pack/index.js.map +0 -1
  49. package/dist/domain-pack/ontology/software-entities-v1.js.map +0 -1
  50. package/dist/domain-pack/packs/developer-reasoning.js.map +0 -1
  51. package/dist/domain-pack/packs/engineering-accelerator-tail.js.map +0 -1
  52. package/dist/domain-pack/packs/engineering-accelerator.js.map +0 -1
  53. package/dist/domain-pack/packs/index.js.map +0 -1
  54. package/dist/domain-pack/shaping.js.map +0 -1
  55. package/dist/domain-pack/validation.js.map +0 -1
  56. package/dist/domain-pack.js.map +0 -1
  57. package/dist/index.js.map +0 -1
  58. package/dist/lifecycle.js.map +0 -1
  59. package/dist/manifestValidation.js.map +0 -1
  60. package/dist/manifests/chat-v1.js.map +0 -1
  61. package/dist/manifests/deals-v1.js.map +0 -1
  62. package/dist/manifests/decisions-v1.js.map +0 -1
  63. package/dist/manifests/documents-v1.js.map +0 -1
  64. package/dist/manifests/epistemic-algorithms-v1.js.map +0 -1
  65. package/dist/manifests/graph-visualization-v1.js.map +0 -1
  66. package/dist/manifests/index.js.map +0 -1
  67. package/dist/manifests/news-v1.js.map +0 -1
  68. package/dist/manifests/philosophy-mode-v1.js.map +0 -1
  69. package/dist/manifests/sprints-v1.js.map +0 -1
  70. package/dist/manifests/task-management-v1.js.map +0 -1
  71. package/dist/manifests/team-analysis-v1.js.map +0 -1
  72. package/dist/manifests/themes-v1.js.map +0 -1
  73. package/dist/manifests/user-profiles-v1.js.map +0 -1
  74. package/dist/manifests.js.map +0 -1
  75. package/dist/namespacePolicy.js.map +0 -1
  76. package/dist/registry.js.map +0 -1
  77. package/dist/runtime.js.map +0 -1
  78. package/dist/serviceContracts.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lifecycle.ts"],"names":[],"mappings":"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","file":"lifecycle.js","sourcesContent":["/**\n * Pack Lifecycle Enforcement\n *\n * License and dependency checks for tenant/workspace pack enablement.\n */\n\nimport type { AppPackManifest, PackLifecycle } from \"./contracts\";\n\nexport type PackEnablementReason =\n | \"allowed\"\n | \"pack_not_found\"\n | \"lifecycle_blocked\"\n | \"license_missing\"\n | \"dependency_missing\"\n | \"dependency_not_installed\"\n | \"dependency_not_enabled\";\n\nexport interface PackEnablementDecision {\n allowed: boolean;\n missingDependencies: string[];\n packKey: string;\n reason: PackEnablementReason;\n}\n\nexport interface PackEnablementPolicy {\n allowedLifecycles?: readonly PackLifecycle[];\n enabledPackKeys?: readonly string[];\n installedPackKeys?: readonly string[];\n requireExplicitEntitlement?: boolean;\n tenantEntitledPackKeys?: readonly string[];\n workspaceEntitledPackKeys?: readonly string[];\n}\n\nconst DEFAULT_ALLOWED_LIFECYCLES: PackLifecycle[] = [\n \"active\",\n \"beta\",\n \"experimental\",\n];\n\nfunction toSet(values?: readonly string[]): Set<string> {\n return new Set(values ?? []);\n}\n\nexport function evaluatePackEnablement(\n packKey: string,\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision {\n const manifest = registry[packKey];\n if (!manifest) {\n return {\n packKey,\n allowed: false,\n reason: \"pack_not_found\",\n missingDependencies: [],\n };\n }\n\n const allowedLifecycles = new Set(\n policy.allowedLifecycles ?? DEFAULT_ALLOWED_LIFECYCLES\n );\n if (!allowedLifecycles.has(manifest.lifecycle)) {\n return {\n packKey,\n allowed: false,\n reason: \"lifecycle_blocked\",\n missingDependencies: [],\n };\n }\n\n const requireExplicitEntitlement = policy.requireExplicitEntitlement ?? false;\n if (requireExplicitEntitlement) {\n const entitled = new Set([\n ...toSet(policy.tenantEntitledPackKeys),\n ...toSet(policy.workspaceEntitledPackKeys),\n ]);\n if (!entitled.has(packKey)) {\n return {\n packKey,\n allowed: false,\n reason: \"license_missing\",\n missingDependencies: [],\n };\n }\n }\n\n const missingDependencies = manifest.dependencies.filter(\n (dependency) => !registry[dependency]\n );\n if (missingDependencies.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_missing\",\n missingDependencies,\n };\n }\n\n const installed = toSet(policy.installedPackKeys);\n if (installed.size > 0) {\n const notInstalled = manifest.dependencies.filter(\n (dependency) => !installed.has(dependency)\n );\n if (notInstalled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_installed\",\n missingDependencies: notInstalled,\n };\n }\n }\n\n const enabled = toSet(policy.enabledPackKeys);\n if (enabled.size > 0) {\n const notEnabled = manifest.dependencies.filter(\n (dependency) => !enabled.has(dependency)\n );\n if (notEnabled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_enabled\",\n missingDependencies: notEnabled,\n };\n }\n }\n\n return {\n packKey,\n allowed: true,\n reason: \"allowed\",\n missingDependencies: [],\n };\n}\n\nexport function evaluateCatalogEnablement(\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision[] {\n return Object.keys(registry)\n .sort()\n .map((packKey) => evaluatePackEnablement(packKey, registry, policy));\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/manifestValidation.ts"],"names":[],"mappings":"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","file":"manifestValidation.js","sourcesContent":["// biome-ignore-all lint/style/useFilenamingConvention: Legacy public @lucern/pack-host/manifestValidation subpath.\n/**\n * Pack Manifest Validation\n *\n * Runtime schema and dictionary validation for app-pack manifests.\n */\n\nimport { z } from \"zod\";\nimport type { AppPackManifest } from \"./contracts\";\n\nconst manifestKeyPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*-v[0-9]+$/;\nconst semverPattern = /^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$/;\n\nexport type PackValidationSeverity = \"error\" | \"warning\";\n\nexport interface PackValidationIssue {\n code: string;\n message: string;\n path: string;\n severity: PackValidationSeverity;\n}\n\nexport interface PackManifestValidationResult {\n issues: PackValidationIssue[];\n manifestKey: string;\n valid: boolean;\n}\n\nexport interface PackSchemaDictionary {\n edgeTypes: readonly string[];\n nodeTypes: readonly string[];\n tables: readonly string[];\n}\n\nconst appPackManifestSchema = z.object({\n key: z.string().regex(manifestKeyPattern),\n name: z.string().min(1),\n version: z.string().regex(semverPattern),\n lifecycle: z.enum([\"active\", \"beta\", \"experimental\"]),\n category: z.enum([\n \"conversation\",\n \"research\",\n \"graph\",\n \"analytics\",\n \"workflow\",\n \"decision\",\n \"news\",\n \"documents\",\n \"identity\",\n \"operations\",\n \"domain\",\n ]),\n description: z.string().min(1),\n dependencies: z.array(z.string().min(1)),\n capabilityFlags: z.array(z.string().min(1)),\n routeNamespace: z.object({\n web: z.array(z.string().min(1)),\n api: z.array(z.string().min(1)),\n }),\n surfaces: z.object({\n components: z.array(z.string().min(1)),\n convex: z.array(z.string().min(1)),\n tools: z.array(z.string().min(1)),\n }),\n policyProfile: z.object({\n audiences: z.array(z.string().min(1)).min(1),\n rules: z\n .array(\n z.object({\n resource: z.enum([\n \"project\",\n \"node\",\n \"edge\",\n \"artifact\",\n \"report_section\",\n \"tool_action\",\n \"task\",\n \"user_profile\",\n \"team_analytics\",\n ]),\n actions: z\n .array(z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\"]))\n .min(1),\n notes: z.string().optional(),\n })\n )\n .min(1),\n }),\n dataContract: z.object({\n requiredNodeTypes: z.array(z.string().min(1)),\n requiredEdgeTypes: z.array(z.string().min(1)),\n requiredTables: z.array(z.string().min(1)).min(1),\n projectionBehavior: z.enum([\n \"none\",\n \"inherits_policy\",\n \"projection_required\",\n ]),\n }),\n templates: z.object({\n workflows: z.array(z.string().min(1)),\n prompts: z.array(z.string().min(1)),\n reports: z.array(z.string().min(1)),\n uiLabels: z.array(z.string().min(1)),\n }),\n testSuite: z.object({\n parity: z.array(z.string().min(1)).min(1),\n policy: z.array(z.string().min(1)).min(1),\n contract: z.array(z.string().min(1)).min(1),\n }),\n sharedServices: z.array(\n z.object({\n service: z.enum([\n \"decision-kernel\",\n \"knowledge-compiler\",\n \"learning-loop\",\n ]),\n mode: z.enum([\"required\", \"optional\"]),\n contracts: z.array(z.string().min(1)).min(1),\n })\n ),\n});\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: PackValidationSeverity = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction collectDuplicateValues(values: readonly string[]): string[] {\n const counts = new Map<string, number>();\n for (const value of values) {\n counts.set(value, (counts.get(value) ?? 0) + 1);\n }\n return [...counts.entries()]\n .filter(([, count]) => count > 1)\n .map(([value]) => value)\n .sort();\n}\n\nfunction collectUnknownValues(\n values: readonly string[],\n knownValues: readonly string[]\n): string[] {\n const known = new Set(knownValues);\n return values.filter((value) => !known.has(value));\n}\n\nfunction validateManifestShape(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const parsed = appPackManifestSchema.safeParse(manifest);\n if (parsed.success) {\n return [];\n }\n\n return parsed.error.issues.map((issue) =>\n toIssue(\n \"PACK_MANIFEST_SCHEMA_INVALID\",\n issue.message,\n issue.path.join(\".\") || \"(root)\"\n )\n );\n}\n\nfunction validateManifestUniqueness(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n\n const duplicateDependencies = collectDuplicateValues(manifest.dependencies);\n if (duplicateDependencies.length > 0) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCIES_DUPLICATE\",\n `Duplicate dependencies declared: ${duplicateDependencies.join(\", \")}`,\n \"dependencies\"\n )\n );\n }\n\n if (manifest.dependencies.includes(manifest.key)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_SELF_REFERENCE\",\n `Pack \"${manifest.key}\" cannot depend on itself.`,\n \"dependencies\"\n )\n );\n }\n\n const duplicateCapabilities = collectDuplicateValues(\n manifest.capabilityFlags\n );\n if (duplicateCapabilities.length > 0) {\n issues.push(\n toIssue(\n \"PACK_CAPABILITIES_DUPLICATE\",\n `Duplicate capability flags declared: ${duplicateCapabilities.join(\", \")}`,\n \"capabilityFlags\"\n )\n );\n }\n\n const duplicateWebRoutes = collectDuplicateValues(\n manifest.routeNamespace.web\n );\n if (duplicateWebRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_WEB_ROUTES_DUPLICATE\",\n `Duplicate web routes declared: ${duplicateWebRoutes.join(\", \")}`,\n \"routeNamespace.web\"\n )\n );\n }\n\n const duplicateApiRoutes = collectDuplicateValues(\n manifest.routeNamespace.api\n );\n if (duplicateApiRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_API_ROUTES_DUPLICATE\",\n `Duplicate api routes declared: ${duplicateApiRoutes.join(\", \")}`,\n \"routeNamespace.api\"\n )\n );\n }\n\n const duplicateServices = collectDuplicateValues(\n manifest.sharedServices.map((integration) => integration.service)\n );\n if (duplicateServices.length > 0) {\n issues.push(\n toIssue(\n \"PACK_SHARED_SERVICE_DUPLICATE\",\n `Duplicate shared-service integrations declared: ${duplicateServices.join(\", \")}`,\n \"sharedServices\"\n )\n );\n }\n\n return issues;\n}\n\nfunction validateManifestDictionary(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackValidationIssue[] {\n if (!dictionary) {\n return [];\n }\n\n const issues: PackValidationIssue[] = [];\n const unknownNodeTypes = collectUnknownValues(\n manifest.dataContract.requiredNodeTypes,\n dictionary.nodeTypes\n );\n const unknownEdgeTypes = collectUnknownValues(\n manifest.dataContract.requiredEdgeTypes,\n dictionary.edgeTypes\n );\n const unknownTables = collectUnknownValues(\n manifest.dataContract.requiredTables,\n dictionary.tables\n );\n\n if (unknownNodeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_NODE_TYPES\",\n `Unknown required node types: ${unknownNodeTypes.join(\", \")}`,\n \"dataContract.requiredNodeTypes\"\n )\n );\n }\n\n if (unknownEdgeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_EDGE_TYPES\",\n `Unknown required edge types: ${unknownEdgeTypes.join(\", \")}`,\n \"dataContract.requiredEdgeTypes\"\n )\n );\n }\n\n if (unknownTables.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_TABLES\",\n `Unknown required tables: ${unknownTables.join(\", \")}`,\n \"dataContract.requiredTables\"\n )\n );\n }\n\n return issues;\n}\n\nexport function validateAppPackManifest(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackManifestValidationResult {\n const issues: PackValidationIssue[] = [\n ...validateManifestShape(manifest),\n ...validateManifestUniqueness(manifest),\n ...validateManifestDictionary(manifest, dictionary),\n ];\n\n return {\n manifestKey: manifest.key,\n valid: issues.every((issue) => issue.severity !== \"error\"),\n issues,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/chat-v1.ts"],"names":[],"mappings":";AA+HA,SAAS,qBAAqB,MAAA,EAA4B;AACxD,EAAA,MAAM,UAAA,GAAa,MAAA,CAChB,GAAA,CAAI,CAAC,UAAU,KAAA,CAAM,IAAA,EAAM,CAAA,CAC3B,MAAA,CAAO,CAAC,KAAA,KAAU,KAAA,CAAM,SAAS,CAAC,CAAA;AACrC,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,GAAA,CAAI,UAAU,CAAC,CAAA;AACvC;AAEO,SAAS,sBACd,QAAA,EACiB;AACjB,EAAA,MAAM,kBAAkB,QAAA,CAAS,cAAA,IAAkB,EAAC,EAAG,GAAA,CAAI,CAAC,WAAA,MAAiB;AAAA,IAC3E,GAAG,WAAA;AAAA,IACH,SAAA,EAAW,oBAAA,CAAqB,WAAA,CAAY,SAAS;AAAA,GACvD,CAAE,CAAA;AAEF,EAAA,OAAO;AAAA,IACL,GAAG,QAAA;AAAA,IACH,YAAA,EAAc,oBAAA,CAAqB,QAAA,CAAS,YAAY,CAAA;AAAA,IACxD,eAAA,EAAiB,oBAAA,CAAqB,QAAA,CAAS,eAAe,CAAA;AAAA,IAC9D;AAAA,GACF;AACF;;;AC5IO,IAAM,iBAAiB,qBAAA,CAAsB;AAAA,EAClD,GAAA,EAAK,SAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,SAAA,EAAW,QAAA;AAAA,EACX,QAAA,EAAU,cAAA;AAAA,EACV,WAAA,EACE,kFAAA;AAAA,EACF,cAAc,EAAC;AAAA,EACf,eAAA,EAAiB;AAAA,IACf,gBAAA;AAAA,IACA,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAA,EAAK,CAAC,cAAA,EAAgB,mBAAmB,CAAA;AAAA,IACzC,GAAA,EAAK;AAAA,MACH,kBAAA;AAAA,MACA,mBAAA;AAAA,MACA,qBAAA;AAAA,MACA,yBAAA;AAAA,MACA;AAAA;AACF,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,qDAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,kDAAA;AAAA,MACA,yCAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,KAAA,EAAO;AAAA,MACL,+CAAA;AAAA,MACA;AAAA;AACF,GACF;AAAA,EACA,aAAA,EAAe;AAAA,IACb,SAAA,EAAW,CAAC,UAAA,EAAY,IAAA,EAAM,QAAQ,CAAA;AAAA,IACtC,KAAA,EAAO;AAAA,MACL,EAAE,QAAA,EAAU,SAAA,EAAW,SAAS,CAAC,MAAA,EAAQ,WAAW,CAAA,EAAE;AAAA,MACtD;AAAA,QACE,QAAA,EAAU,aAAA;AAAA,QACV,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,QAC1B,KAAA,EAAO;AAAA,OACT;AAAA,MACA,EAAE,QAAA,EAAU,UAAA,EAAY,SAAS,CAAC,MAAA,EAAQ,WAAW,CAAA;AAAE;AACzD,GACF;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,mBAAmB,CAAC,QAAA,EAAU,UAAA,EAAY,UAAA,EAAY,SAAS,MAAM,CAAA;AAAA,IACrE,iBAAA,EAAmB,CAAC,SAAA,EAAW,SAAA,EAAW,YAAY,CAAA;AAAA,IACtD,cAAA,EAAgB;AAAA,MACd,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,2BAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,SAAA,EAAW;AAAA,IACT,SAAA,EAAW,CAAC,cAAA,EAAgB,iBAAiB,CAAA;AAAA,IAC7C,OAAA,EAAS,CAAC,yBAAA,EAA2B,uBAAuB,CAAA;AAAA,IAC5D,SAAS,EAAC;AAAA,IACV,QAAA,EAAU,CAAC,MAAA,EAAQ,WAAA,EAAa,cAAc;AAAA,GAChD;AAAA,EACA,SAAA,EAAW;AAAA,IACT,MAAA,EAAQ,CAAC,uBAAA,EAAyB,sBAAsB,CAAA;AAAA,IACxD,MAAA,EAAQ,CAAC,wBAAA,EAA0B,uBAAuB,CAAA;AAAA,IAC1D,QAAA,EAAU,CAAC,uBAAuB;AAAA;AAEtC,CAAC","file":"chat-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: chat-v1\n *\n * Declarative runtime contract for the chat-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const chatV1Manifest = defineAppPackManifest({\n key: \"chat-v1\",\n name: \"Chat\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"conversation\",\n description:\n \"Core conversational runtime, streaming orchestration, and tool invocation shell.\",\n dependencies: [],\n capabilityFlags: [\n \"chat.streaming\",\n \"chat.history\",\n \"tool.invocation\",\n \"slash.commands\",\n \"voice.mode\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat\", \"/(chat)/chat/[id]\"],\n api: [\n \"/(chat)/api/chat\",\n \"/(chat)/api/coach\",\n \"/(chat)/api/history\",\n \"/(chat)/api/suggestions\",\n \"/(chat)/api/vote\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/components/lucern/dev/chat-debug-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-try-it-panel.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/events.ts\",\n \"services/master-control/convex/tools.ts\",\n \"services/master-control/convex/toolAccess.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/function-surface.ts\",\n \"packages/server-core/src/mcp-context-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n {\n resource: \"tool_action\",\n actions: [\"read\", \"mutate\"],\n notes: \"Mutation tools must pass server-side policy checks.\",\n },\n { resource: \"artifact\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\"],\n requiredTables: [\n \"agentMessages\",\n \"platformAgentRuns\",\n \"platformAgentRunToolCalls\",\n \"epistemicNodes\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"chat/default\", \"chat/voice-mode\"],\n prompts: [\"chat/main-system-prompt\", \"chat/voice-mode-style\"],\n reports: [],\n uiLabels: [\"chat\", \"assistant\", \"conversation\"],\n },\n testSuite: {\n parity: [\"chat-streaming-parity\", \"slash-command-parity\"],\n policy: [\"chat-context-filtering\", \"tool-deny-enforcement\"],\n contract: [\"chat-pack-contract-v1\"],\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/deals-v1.ts"],"names":[],"mappings":"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","file":"deals-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: deals-v1\n *\n * Declarative runtime contract for the deals-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const dealsV1Manifest = defineAppPackManifest({\n key: \"deals-v1\",\n name: \"Deals\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"domain\",\n description:\n \"Deal diligence application using shared reasoning graph primitives with deal-calibrated workflows.\",\n dependencies: [\"chat-v1\", \"documents-v1\", \"news-v1\", \"decisions-v1\"],\n capabilityFlags: [\n \"deal.lifecycle\",\n \"diligence.workflow\",\n \"deal.risk-assessment\",\n \"decision.integration\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects\", \"/(projects)/projects/[projectId]\"],\n api: [\"/api/research/*\", \"/api/tasks/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"services/master-control/convex/workspaces.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/topics.ts\",\n \"packages/server-core/src/domain/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"deal\", \"belief\", \"question\", \"evidence\", \"decision\"],\n requiredEdgeTypes: [\n \"evaluates\",\n \"informs\",\n \"depends_on\",\n \"based_on_belief\",\n ],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"deals/diligence-default\", \"deals/ic-prep\"],\n prompts: [\"deals/main-system-prompt\", \"deals/risk-ledger-draft\"],\n reports: [\"deal-memo\", \"knowledge-map\"],\n uiLabels: [\"deal\", \"diligence\", \"investment_case\", \"ic_readiness\"],\n },\n testSuite: {\n parity: [\"deal-workflow-parity\"],\n policy: [\"deal-data-audience-filtering\"],\n contract: [\"deals-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/decisions-v1.ts"],"names":[],"mappings":"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","file":"decisions-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: decisions-v1\n *\n * Declarative runtime contract for the decisions-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const decisionsV1Manifest = defineAppPackManifest({\n key: \"decisions-v1\",\n name: \"Decisions\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"decision\",\n description:\n \"Graph-native decision workflow with belief-level voting, risk ledgers, and snapshot locking.\",\n dependencies: [\"epistemic-algorithms-v1\"],\n capabilityFlags: [\n \"decision.workflow\",\n \"belief.level-voting\",\n \"risk.ledger\",\n \"decision.snapshot\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/decisions\"],\n api: [\"/api/thesis-audit/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/policy/page.tsx\",\n \"apps/web/app/lucern/mc/policy/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"packages/reasoning-kernel/src/adapters/questionsConvictionMutations.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.confidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/judgments.ts\",\n \"packages/server-core/src/policy/index.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"decision\", \"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\n \"based_on_belief\",\n \"based_on_question\",\n \"informed_by_theme\",\n \"blocked_by_contradiction\",\n ],\n requiredTables: [\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n \"beliefVotes\",\n \"decisionRiskLedger\",\n \"decisionSnapshots\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"decisions/pre-ic\", \"decisions/in-ic\", \"decisions/post-ic\"],\n prompts: [\n \"decisions/main-system-prompt\",\n \"decisions/risk-ledger-assistant\",\n ],\n reports: [\"decision-brief\", \"ic-memo\"],\n uiLabels: [\"decision\", \"risk_ledger\", \"vote_map\", \"snapshot\"],\n },\n testSuite: {\n parity: [\"decision-flow-parity\"],\n policy: [\"decision-lineage-visibility\"],\n contract: [\"decisions-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/documents-v1.ts"],"names":[],"mappings":"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","file":"documents-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: documents-v1\n *\n * Declarative runtime contract for the documents-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const documentsV1Manifest = defineAppPackManifest({\n key: \"documents-v1\",\n name: \"Documents\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"documents\",\n description:\n \"Document upload, extraction, annotation, and conversion into graph-grounded evidence.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"document.ingestion\",\n \"document.extraction\",\n \"document.annotation\",\n \"document.rag\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/documents\",\n \"/(projects)/projects/[projectId]/documents/[documentId]\",\n ],\n api: [\"/api/documents/*\", \"/api/rag/document\", \"/api/rag/extract-pdf\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/workspace-pack-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/evidenceCreate.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"excerpt\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"derived_from\", \"based_on\", \"informs\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"documents/upload-extract-link\",\n \"documents/annotate-to-evidence\",\n ],\n prompts: [\"documents/extraction\", \"documents/summarization\"],\n reports: [],\n uiLabels: [\"documents\", \"annotations\", \"excerpts\", \"sources\"],\n },\n testSuite: {\n parity: [\"documents-page-parity\"],\n policy: [\"document-access-enforcement\"],\n contract: [\"documents-pack-contract-v1\"],\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/epistemic-algorithms-v1.ts"],"names":[],"mappings":"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","file":"epistemic-algorithms-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: epistemic-algorithms-v1\n *\n * Declarative runtime contract for the epistemic-algorithms-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const epistemicAlgorithmsV1Manifest = defineAppPackManifest({\n key: \"epistemic-algorithms-v1\",\n name: \"Epistemic Algorithms\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Reasoning quality engines: contradiction detection, conviction dynamics, and graph intelligence analytics.\",\n dependencies: [\"graph-visualization-v1\", \"chat-v1\"],\n capabilityFlags: [\n \"contradiction.detection\",\n \"conviction.analytics\",\n \"reasoning.depth\",\n \"bias.detection\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/contradictions\",\n \"/(projects)/projects/[projectId]/thesis-audit\",\n ],\n api: [\"/api/thesis-audit\", \"/api/graph-explain\", \"/api/lucern/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/lib/platform/react/components/ContradictionList.ts\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/contradictions.ts\",\n \"packages/reasoning-kernel/src/adapters/graphIntelligence.ts\",\n \"packages/reasoning-kernel/src/adapters/graphAnalysisResults.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/contradictions.ts\",\n \"packages/server-core/src/graph-analysis.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"decision\"],\n requiredEdgeTypes: [\n \"informs\",\n \"contradicts\",\n \"depends_on\",\n \"strengthened_by\",\n \"weakened_by\",\n \"collapses_if\",\n ],\n requiredTables: [\n \"contradictions\",\n \"beliefConfidence\",\n \"epistemicAudit\",\n \"graphAnalysisResults\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"epistemic/contradiction-resolution\", \"epistemic/thesis-audit\"],\n prompts: [\n \"graph-intelligence/full-guide\",\n \"graph-intelligence/bias-detection\",\n ],\n reports: [\"knowledge_map\"],\n uiLabels: [\n \"contradiction\",\n \"conviction\",\n \"thesis_audit\",\n \"epistemic_health\",\n ],\n },\n testSuite: {\n parity: [\"epistemic-algorithm-output-parity\"],\n policy: [\"epistemic-output-scope-filtering\"],\n contract: [\"epistemic-algorithms-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/graph-visualization-v1.ts"],"names":[],"mappings":"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","file":"graph-visualization-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: graph-visualization-v1\n *\n * Declarative runtime contract for the graph-visualization-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const graphVisualizationV1Manifest = defineAppPackManifest({\n key: \"graph-visualization-v1\",\n name: \"Graph Visualization\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"graph\",\n description:\n \"Interactive graph explorer for node/edge traversal, neighborhood inspection, and query rendering.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"graph.rendering\",\n \"graph.query\",\n \"graph.highlighting\",\n \"graph.neighborhood\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/graph\"],\n api: [\"/api/graph\", \"/api/graph-query\", \"/api/graph-suggestions\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/graph/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/edgesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/nodesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/neo4jQueries.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/graph.ts\",\n \"packages/server-core/src/mcp-graph-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\n \"belief\",\n \"question\",\n \"evidence\",\n \"theme\",\n \"deal\",\n \"decision\",\n ],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"graph/query-and-traverse\"],\n prompts: [\n \"graph-intelligence/query\",\n \"graph-intelligence/suggestions-extraction\",\n ],\n reports: [],\n uiLabels: [\"graph\", \"nodes\", \"edges\", \"lineage\"],\n },\n testSuite: {\n parity: [\"graph-query-parity\", \"graph-render-parity\"],\n policy: [\"graph-node-visibility-filtering\"],\n contract: [\"graph-visualization-pack-contract-v1\"],\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/chat-v1.ts","../../src/manifests/deals-v1.ts","../../src/manifests/decisions-v1.ts","../../src/manifests/documents-v1.ts","../../src/manifests/epistemic-algorithms-v1.ts","../../src/manifests/graph-visualization-v1.ts","../../src/manifests/news-v1.ts","../../src/manifests/philosophy-mode-v1.ts","../../src/manifests/sprints-v1.ts","../../src/manifests/task-management-v1.ts","../../src/manifests/team-analysis-v1.ts","../../src/manifests/themes-v1.ts","../../src/manifests/user-profiles-v1.ts","../../src/manifests/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: chat-v1\n *\n * Declarative runtime contract for the chat-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const chatV1Manifest = defineAppPackManifest({\n key: \"chat-v1\",\n name: \"Chat\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"conversation\",\n description:\n \"Core conversational runtime, streaming orchestration, and tool invocation shell.\",\n dependencies: [],\n capabilityFlags: [\n \"chat.streaming\",\n \"chat.history\",\n \"tool.invocation\",\n \"slash.commands\",\n \"voice.mode\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat\", \"/(chat)/chat/[id]\"],\n api: [\n \"/(chat)/api/chat\",\n \"/(chat)/api/coach\",\n \"/(chat)/api/history\",\n \"/(chat)/api/suggestions\",\n \"/(chat)/api/vote\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/components/lucern/dev/chat-debug-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-try-it-panel.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/events.ts\",\n \"services/master-control/convex/tools.ts\",\n \"services/master-control/convex/toolAccess.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/function-surface.ts\",\n \"packages/server-core/src/mcp-context-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n {\n resource: \"tool_action\",\n actions: [\"read\", \"mutate\"],\n notes: \"Mutation tools must pass server-side policy checks.\",\n },\n { resource: \"artifact\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\"],\n requiredTables: [\n \"agentMessages\",\n \"platformAgentRuns\",\n \"platformAgentRunToolCalls\",\n \"epistemicNodes\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"chat/default\", \"chat/voice-mode\"],\n prompts: [\"chat/main-system-prompt\", \"chat/voice-mode-style\"],\n reports: [],\n uiLabels: [\"chat\", \"assistant\", \"conversation\"],\n },\n testSuite: {\n parity: [\"chat-streaming-parity\", \"slash-command-parity\"],\n policy: [\"chat-context-filtering\", \"tool-deny-enforcement\"],\n contract: [\"chat-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: deals-v1\n *\n * Declarative runtime contract for the deals-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const dealsV1Manifest = defineAppPackManifest({\n key: \"deals-v1\",\n name: \"Deals\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"domain\",\n description:\n \"Deal diligence application using shared reasoning graph primitives with deal-calibrated workflows.\",\n dependencies: [\"chat-v1\", \"documents-v1\", \"news-v1\", \"decisions-v1\"],\n capabilityFlags: [\n \"deal.lifecycle\",\n \"diligence.workflow\",\n \"deal.risk-assessment\",\n \"decision.integration\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects\", \"/(projects)/projects/[projectId]\"],\n api: [\"/api/research/*\", \"/api/tasks/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"services/master-control/convex/workspaces.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/topics.ts\",\n \"packages/server-core/src/domain/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"deal\", \"belief\", \"question\", \"evidence\", \"decision\"],\n requiredEdgeTypes: [\n \"evaluates\",\n \"informs\",\n \"depends_on\",\n \"based_on_belief\",\n ],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"deals/diligence-default\", \"deals/ic-prep\"],\n prompts: [\"deals/main-system-prompt\", \"deals/risk-ledger-draft\"],\n reports: [\"deal-memo\", \"knowledge-map\"],\n uiLabels: [\"deal\", \"diligence\", \"investment_case\", \"ic_readiness\"],\n },\n testSuite: {\n parity: [\"deal-workflow-parity\"],\n policy: [\"deal-data-audience-filtering\"],\n contract: [\"deals-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: decisions-v1\n *\n * Declarative runtime contract for the decisions-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const decisionsV1Manifest = defineAppPackManifest({\n key: \"decisions-v1\",\n name: \"Decisions\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"decision\",\n description:\n \"Graph-native decision workflow with belief-level voting, risk ledgers, and snapshot locking.\",\n dependencies: [\"epistemic-algorithms-v1\"],\n capabilityFlags: [\n \"decision.workflow\",\n \"belief.level-voting\",\n \"risk.ledger\",\n \"decision.snapshot\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/decisions\"],\n api: [\"/api/thesis-audit/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/policy/page.tsx\",\n \"apps/web/app/lucern/mc/policy/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"packages/reasoning-kernel/src/adapters/questionsConvictionMutations.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.confidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/judgments.ts\",\n \"packages/server-core/src/policy/index.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"decision\", \"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\n \"based_on_belief\",\n \"based_on_question\",\n \"informed_by_theme\",\n \"blocked_by_contradiction\",\n ],\n requiredTables: [\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n \"beliefVotes\",\n \"decisionRiskLedger\",\n \"decisionSnapshots\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"decisions/pre-ic\", \"decisions/in-ic\", \"decisions/post-ic\"],\n prompts: [\n \"decisions/main-system-prompt\",\n \"decisions/risk-ledger-assistant\",\n ],\n reports: [\"decision-brief\", \"ic-memo\"],\n uiLabels: [\"decision\", \"risk_ledger\", \"vote_map\", \"snapshot\"],\n },\n testSuite: {\n parity: [\"decision-flow-parity\"],\n policy: [\"decision-lineage-visibility\"],\n contract: [\"decisions-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: documents-v1\n *\n * Declarative runtime contract for the documents-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const documentsV1Manifest = defineAppPackManifest({\n key: \"documents-v1\",\n name: \"Documents\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"documents\",\n description:\n \"Document upload, extraction, annotation, and conversion into graph-grounded evidence.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"document.ingestion\",\n \"document.extraction\",\n \"document.annotation\",\n \"document.rag\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/documents\",\n \"/(projects)/projects/[projectId]/documents/[documentId]\",\n ],\n api: [\"/api/documents/*\", \"/api/rag/document\", \"/api/rag/extract-pdf\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/workspace-pack-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/evidenceCreate.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"excerpt\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"derived_from\", \"based_on\", \"informs\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"documents/upload-extract-link\",\n \"documents/annotate-to-evidence\",\n ],\n prompts: [\"documents/extraction\", \"documents/summarization\"],\n reports: [],\n uiLabels: [\"documents\", \"annotations\", \"excerpts\", \"sources\"],\n },\n testSuite: {\n parity: [\"documents-page-parity\"],\n policy: [\"document-access-enforcement\"],\n contract: [\"documents-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: epistemic-algorithms-v1\n *\n * Declarative runtime contract for the epistemic-algorithms-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const epistemicAlgorithmsV1Manifest = defineAppPackManifest({\n key: \"epistemic-algorithms-v1\",\n name: \"Epistemic Algorithms\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Reasoning quality engines: contradiction detection, conviction dynamics, and graph intelligence analytics.\",\n dependencies: [\"graph-visualization-v1\", \"chat-v1\"],\n capabilityFlags: [\n \"contradiction.detection\",\n \"conviction.analytics\",\n \"reasoning.depth\",\n \"bias.detection\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/contradictions\",\n \"/(projects)/projects/[projectId]/thesis-audit\",\n ],\n api: [\"/api/thesis-audit\", \"/api/graph-explain\", \"/api/lucern/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/lib/platform/react/components/ContradictionList.ts\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/contradictions.ts\",\n \"packages/reasoning-kernel/src/adapters/graphIntelligence.ts\",\n \"packages/reasoning-kernel/src/adapters/graphAnalysisResults.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/contradictions.ts\",\n \"packages/server-core/src/graph-analysis.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"decision\"],\n requiredEdgeTypes: [\n \"informs\",\n \"contradicts\",\n \"depends_on\",\n \"strengthened_by\",\n \"weakened_by\",\n \"collapses_if\",\n ],\n requiredTables: [\n \"contradictions\",\n \"beliefConfidence\",\n \"epistemicAudit\",\n \"graphAnalysisResults\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"epistemic/contradiction-resolution\", \"epistemic/thesis-audit\"],\n prompts: [\n \"graph-intelligence/full-guide\",\n \"graph-intelligence/bias-detection\",\n ],\n reports: [\"knowledge_map\"],\n uiLabels: [\n \"contradiction\",\n \"conviction\",\n \"thesis_audit\",\n \"epistemic_health\",\n ],\n },\n testSuite: {\n parity: [\"epistemic-algorithm-output-parity\"],\n policy: [\"epistemic-output-scope-filtering\"],\n contract: [\"epistemic-algorithms-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: graph-visualization-v1\n *\n * Declarative runtime contract for the graph-visualization-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const graphVisualizationV1Manifest = defineAppPackManifest({\n key: \"graph-visualization-v1\",\n name: \"Graph Visualization\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"graph\",\n description:\n \"Interactive graph explorer for node/edge traversal, neighborhood inspection, and query rendering.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"graph.rendering\",\n \"graph.query\",\n \"graph.highlighting\",\n \"graph.neighborhood\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/graph\"],\n api: [\"/api/graph\", \"/api/graph-query\", \"/api/graph-suggestions\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/graph/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/edgesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/nodesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/neo4jQueries.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/graph.ts\",\n \"packages/server-core/src/mcp-graph-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\n \"belief\",\n \"question\",\n \"evidence\",\n \"theme\",\n \"deal\",\n \"decision\",\n ],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"graph/query-and-traverse\"],\n prompts: [\n \"graph-intelligence/query\",\n \"graph-intelligence/suggestions-extraction\",\n ],\n reports: [],\n uiLabels: [\"graph\", \"nodes\", \"edges\", \"lineage\"],\n },\n testSuite: {\n parity: [\"graph-query-parity\", \"graph-render-parity\"],\n policy: [\"graph-node-visibility-filtering\"],\n contract: [\"graph-visualization-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: news-v1\n *\n * Declarative runtime contract for the news-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const newsV1Manifest = defineAppPackManifest({\n key: \"news-v1\",\n name: \"News\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"news\",\n description:\n \"News ingestion, curation, and contextual linkage into the reasoning graph.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"news.search\",\n \"news.ingestion\",\n \"news.curation\",\n \"news.graph-linkage\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/news-v3\",\n \"/(projects)/projects/[projectId]/news-v3/[articleId]\",\n ],\n api: [\"/api/news/search\", \"/api/intelligence/smart-news-search\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-catalog-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n \"packages/server-core/src/domain/sources.ts\",\n ],\n tools: [\n \"packages/server-core/src/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"evidence\", \"synthesis\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"derived_from\", \"informs\", \"belongs_to\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"news/search-import-curate\", \"news/evidence-linking\"],\n prompts: [\"news/summary\", \"news/relevance-scoring\"],\n reports: [\"news-digest\"],\n uiLabels: [\"news\", \"articles\", \"curation\", \"signals\"],\n },\n testSuite: {\n parity: [\"news-v3-parity\"],\n policy: [\"news-audience-redaction\"],\n contract: [\"news-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: philosophy-mode-v1\n *\n * Declarative runtime contract for the philosophy-mode-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const philosophyModeV1Manifest = defineAppPackManifest({\n key: \"philosophy-mode-v1\",\n name: \"Philosophy Mode\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Investor worldview extraction, archetype synthesis, and philosophy profile management.\",\n dependencies: [\"chat-v1\", \"user-profiles-v1\"],\n capabilityFlags: [\n \"philosophy.extraction\",\n \"philosophy.profiles\",\n \"archetype.classification\",\n \"worldview.synthesis\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat/[id]\"],\n api: [\n \"/api/philosophy/detect\",\n \"/api/philosophy/extract\",\n \"/api/philosophy/get-profile\",\n \"/api/philosophy/ingest\",\n \"/api/philosophy/synthesize\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/userSessions.ts\",\n \"packages/reasoning-kernel/src/adapters/ontologies.ts\",\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/ontologies.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\"],\n rules: [\n { resource: \"user_profile\", actions: [\"read\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"theme\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\"],\n requiredTables: [\"users\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"philosophy/conversation-to-profile\"],\n prompts: [\n \"philosophy/deep-thinker\",\n \"philosophy/welcome-back\",\n \"philosophy/detect-philosophical-statement\",\n \"philosophy/content-classifier\",\n \"philosophy/atom-extractor\",\n \"philosophy/summarize-investor-profile\",\n \"philosophy/team-aggregator\",\n \"philosophy/market-synthesis\",\n \"thematic/extractor\",\n ],\n reports: [],\n uiLabels: [\"philosophy_mode\", \"investor_worldview\", \"archetype\"],\n },\n testSuite: {\n parity: [\"philosophy-profile-parity\"],\n policy: [\"philosophy-profile-isolation\"],\n contract: [\"philosophy-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: sprints-v1\n *\n * Declarative runtime contract for the worktree workflow application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const worktreesV1Manifest = defineAppPackManifest({\n key: \"sprints-v1\",\n name: \"Worktrees\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"workflow\",\n description:\n \"Structured research execution workflow with phases, scoring, and worktree-linked tasks.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"worktree.lifecycle\",\n \"worktree.phase-navigation\",\n \"worktree.scoring\",\n \"worktree.workspace\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/topics/[topicId]/worktrees\",\n \"/(projects)/topics/[topicId]/worktrees/[worktreeId]\",\n ],\n api: [\n \"/api/sprint/assess-beliefs\",\n \"/api/sprint/generate-thesis\",\n \"/api/sprint/refine-thesis\",\n \"/api/sprint/welcome\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/worktrees.ts\",\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/worktrees.ts\",\n \"packages/server-core/src/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"task\", actions: [\"read\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\"tests\", \"informs\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\n \"worktrees\",\n \"workflowDefinitions\",\n \"workflowStages\",\n \"tasks\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"worktree/hypothesis-formation\",\n \"worktree/cluster-mapping\",\n \"worktree/question-validation\",\n ],\n prompts: [\"worktree/main-system-prompt\", \"worktree/research-task-planning\"],\n reports: [\"sprint_thesis\"],\n uiLabels: [\"worktree\", \"phase\", \"conviction\", \"thesis\"],\n },\n testSuite: {\n parity: [\"worktree-lifecycle-parity\"],\n policy: [\"worktree-tool-enforcement\"],\n contract: [\"worktrees-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: task-management-v1\n *\n * Declarative runtime contract for the task-management-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const taskManagementV1Manifest = defineAppPackManifest({\n key: \"task-management-v1\",\n name: \"Task Management\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"operations\",\n description:\n \"Operational task system linked to beliefs, questions, worktrees, and AI-assisted execution.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"task.lifecycle\",\n \"task.assignment\",\n \"task.attachments\",\n \"task.ai-execution\",\n \"task.evidence-capture\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/tasks\"],\n api: [\n \"/api/tasks/execute\",\n \"/api/tasks/execute-workflow\",\n \"/api/tasks/refresh-call-script\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/tools/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/tools/*\",\n ],\n convex: [\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"modules/tasks/src/v1/engine/tasks.queries.ts\",\n \"modules/tasks/src/v1/engine/tasks.mutations.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/tasks.ts\",\n \"packages/server-core/src/tasks.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"task\", actions: [\"read\", \"mutate\", \"admin\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"informs\", \"tests\", \"belongs_to\"],\n requiredTables: [\n \"tasks\",\n \"topics\",\n \"worktrees\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"tasks/research-plan\",\n \"tasks/execution-loop\",\n \"tasks/evidence-capture\",\n ],\n prompts: [\"tasks/call-script\", \"tasks/research-plan-generator\"],\n reports: [],\n uiLabels: [\"tasks\", \"assignee\", \"checklist\", \"workflow_status\"],\n },\n testSuite: {\n parity: [\"task-management-parity\"],\n policy: [\"task-project-access-enforcement\"],\n contract: [\"task-management-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: team-analysis-v1\n *\n * Declarative runtime contract for the team-analysis-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const teamAnalysisV1Manifest = defineAppPackManifest({\n key: \"team-analysis-v1\",\n name: \"Team Analysis\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Team-level behavioral analytics, archetype distribution, and comparative operating patterns.\",\n dependencies: [\"user-profiles-v1\"],\n capabilityFlags: [\n \"team.analytics\",\n \"team.behavioral-summary\",\n \"team.archetype-distribution\",\n \"team.activity-heatmap\",\n ],\n routeNamespace: {\n web: [\"/(team)/team\"],\n api: [\"/api/coaching/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/mc/analytics/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/people/*\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/groups.ts\",\n \"packages/reasoning-kernel/src/adapters/telemetry.ts\",\n ],\n tools: [\n \"packages/server-core/src/identity.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n { resource: \"team_analytics\", actions: [\"read\", \"admin\"] },\n { resource: \"user_profile\", actions: [\"read\"] },\n { resource: \"project\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\"],\n requiredEdgeTypes: [\"informs\", \"tests\"],\n requiredTables: [\n \"users\",\n \"epistemicAudit\",\n \"beliefConfidence\",\n \"contradictions\",\n \"calibrationScores\",\n \"tasks\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"team/behavioral-summary\", \"team/coverage-gap-analysis\"],\n prompts: [\"coaching/team-summary\", \"coaching/team-recommendations\"],\n reports: [\"team-operating-review\"],\n uiLabels: [\"team\", \"behavior\", \"distribution\", \"coverage\"],\n },\n testSuite: {\n parity: [\"team-page-parity\"],\n policy: [\"team-analytics-admin-scope\"],\n contract: [\"team-analysis-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: themes-v1\n *\n * Declarative runtime contract for the themes-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const themesV1Manifest = defineAppPackManifest({\n key: \"themes-v1\",\n name: \"Themes\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Thematic research lifecycle built on graph primitives, worktree workflows, and conviction analytics.\",\n dependencies: [\n \"chat-v1\",\n \"epistemic-algorithms-v1\",\n \"news-v1\",\n \"documents-v1\",\n ],\n capabilityFlags: [\n \"theme.lifecycle\",\n \"belief.question.evidence\",\n \"thesis.development\",\n \"reporting\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects\",\n \"/(projects)/projects/[projectId]\",\n \"/(projects)/projects/[projectId]/beliefs-v2\",\n \"/(projects)/projects/[projectId]/questions\",\n \"/(projects)/projects/[projectId]/research\",\n \"/(projects)/projects/[projectId]/reports\",\n ],\n api: [\"/api/research/*\", \"/api/reports/*\", \"/api/questions/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/beliefs.ts\",\n \"packages/mcp/src/handlers/questions.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"report_section\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"theme\", \"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\", \"informs\", \"tests\"],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"workflowDefinitions\",\n \"workflowStages\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"themes/default-lifecycle\", \"themes/worktree-thesis-loop\"],\n prompts: [\n \"thematic/extractor\",\n \"reports/thematic-long-form/thesis-statement\",\n \"reports/thematic-long-form/belief-map\",\n ],\n reports: [\"thematic-long-form\", \"knowledge-map\"],\n uiLabels: [\"theme\", \"belief\", \"question\", \"evidence\", \"conviction\"],\n },\n testSuite: {\n parity: [\"themes-v1-parity-against-current\"],\n policy: [\"theme-compilation-entitlement-filtering\"],\n contract: [\"themes-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: user-profiles-v1\n *\n * Declarative runtime contract for the user-profiles-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const userProfilesV1Manifest = defineAppPackManifest({\n key: \"user-profiles-v1\",\n name: \"User Profiles\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"identity\",\n description:\n \"Individual cognition and operating profile layer including journey progression, archetypes, and behavioral telemetry.\",\n dependencies: [],\n capabilityFlags: [\n \"user.profile\",\n \"user.journey\",\n \"user.analytics\",\n \"voice.preferences\",\n ],\n routeNamespace: {\n web: [\"/(team)/team/[userId]\"],\n api: [\"/api/philosophy/get-profile\", \"/api/mobile/v1/session\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/userSessions.ts\",\n \"services/master-control/convex/groups.ts\",\n ],\n tools: [\"packages/server-core/src/identity.ts\"],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n {\n resource: \"user_profile\",\n actions: [\"read\", \"mutate\"],\n notes: \"Users can edit self; tenant admins can read broader profiles.\",\n },\n { resource: \"project\", actions: [\"read\"] },\n { resource: \"team_analytics\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [],\n requiredEdgeTypes: [],\n requiredTables: [\n \"users\",\n \"userSessions\",\n \"principals\",\n \"principalIdentityAliases\",\n \"calibrationScores\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"user/profile-synthesis\", \"user/journey-update\"],\n prompts: [\"coaching/user-eval\", \"philosophy/profile-synthesis\"],\n reports: [\"user-profile-summary\"],\n uiLabels: [\"profile\", \"journey\", \"archetype\", \"calibration\"],\n },\n testSuite: {\n parity: [\"user-profile-page-parity\"],\n policy: [\"user-profile-self-vs-admin-access\"],\n contract: [\"user-profiles-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","// biome-ignore-all lint/performance/noBarrelFile: Public manifest aggregate exports all built-in pack manifests.\n/**\n * App Pack Manifest Exports\n *\n * Aggregated exports for versioned app-pack manifests.\n */\n\nimport type { AppPackManifest } from \"../contracts\";\nimport { chatV1Manifest as chatV1ManifestValue } from \"./chat-v1\";\nimport { dealsV1Manifest as dealsV1ManifestValue } from \"./deals-v1\";\nimport { decisionsV1Manifest as decisionsV1ManifestValue } from \"./decisions-v1\";\nimport { documentsV1Manifest as documentsV1ManifestValue } from \"./documents-v1\";\nimport { epistemicAlgorithmsV1Manifest as epistemicAlgorithmsV1ManifestValue } from \"./epistemic-algorithms-v1\";\nimport { graphVisualizationV1Manifest as graphVisualizationV1ManifestValue } from \"./graph-visualization-v1\";\nimport { newsV1Manifest as newsV1ManifestValue } from \"./news-v1\";\nimport { philosophyModeV1Manifest as philosophyModeV1ManifestValue } from \"./philosophy-mode-v1\";\nimport { worktreesV1Manifest as worktreesV1ManifestValue } from \"./sprints-v1\";\nimport { taskManagementV1Manifest as taskManagementV1ManifestValue } from \"./task-management-v1\";\nimport { teamAnalysisV1Manifest as teamAnalysisV1ManifestValue } from \"./team-analysis-v1\";\nimport { themesV1Manifest as themesV1ManifestValue } from \"./themes-v1\";\nimport { userProfilesV1Manifest as userProfilesV1ManifestValue } from \"./user-profiles-v1\";\n\nexport { chatV1Manifest } from \"./chat-v1\";\nexport { dealsV1Manifest } from \"./deals-v1\";\nexport { decisionsV1Manifest } from \"./decisions-v1\";\nexport { documentsV1Manifest } from \"./documents-v1\";\nexport { epistemicAlgorithmsV1Manifest } from \"./epistemic-algorithms-v1\";\nexport { graphVisualizationV1Manifest } from \"./graph-visualization-v1\";\nexport { newsV1Manifest } from \"./news-v1\";\nexport { philosophyModeV1Manifest } from \"./philosophy-mode-v1\";\nexport { worktreesV1Manifest } from \"./sprints-v1\";\nexport { taskManagementV1Manifest } from \"./task-management-v1\";\nexport { teamAnalysisV1Manifest } from \"./team-analysis-v1\";\nexport { themesV1Manifest } from \"./themes-v1\";\nexport { userProfilesV1Manifest } from \"./user-profiles-v1\";\n\nexport const allAppPackManifests: AppPackManifest[] = [\n philosophyModeV1ManifestValue,\n chatV1ManifestValue,\n worktreesV1ManifestValue,\n graphVisualizationV1ManifestValue,\n epistemicAlgorithmsV1ManifestValue,\n themesV1ManifestValue,\n dealsV1ManifestValue,\n decisionsV1ManifestValue,\n newsV1ManifestValue,\n documentsV1ManifestValue,\n userProfilesV1ManifestValue,\n teamAnalysisV1ManifestValue,\n taskManagementV1ManifestValue,\n];\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/news-v1.ts"],"names":[],"mappings":"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","file":"news-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: news-v1\n *\n * Declarative runtime contract for the news-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const newsV1Manifest = defineAppPackManifest({\n key: \"news-v1\",\n name: \"News\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"news\",\n description:\n \"News ingestion, curation, and contextual linkage into the reasoning graph.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"news.search\",\n \"news.ingestion\",\n \"news.curation\",\n \"news.graph-linkage\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/news-v3\",\n \"/(projects)/projects/[projectId]/news-v3/[articleId]\",\n ],\n api: [\"/api/news/search\", \"/api/intelligence/smart-news-search\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-catalog-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n \"packages/server-core/src/domain/sources.ts\",\n ],\n tools: [\n \"packages/server-core/src/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"evidence\", \"synthesis\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"derived_from\", \"informs\", \"belongs_to\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"news/search-import-curate\", \"news/evidence-linking\"],\n prompts: [\"news/summary\", \"news/relevance-scoring\"],\n reports: [\"news-digest\"],\n uiLabels: [\"news\", \"articles\", \"curation\", \"signals\"],\n },\n testSuite: {\n parity: [\"news-v3-parity\"],\n policy: [\"news-audience-redaction\"],\n contract: [\"news-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/philosophy-mode-v1.ts"],"names":[],"mappings":"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","file":"philosophy-mode-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: philosophy-mode-v1\n *\n * Declarative runtime contract for the philosophy-mode-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const philosophyModeV1Manifest = defineAppPackManifest({\n key: \"philosophy-mode-v1\",\n name: \"Philosophy Mode\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Investor worldview extraction, archetype synthesis, and philosophy profile management.\",\n dependencies: [\"chat-v1\", \"user-profiles-v1\"],\n capabilityFlags: [\n \"philosophy.extraction\",\n \"philosophy.profiles\",\n \"archetype.classification\",\n \"worldview.synthesis\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat/[id]\"],\n api: [\n \"/api/philosophy/detect\",\n \"/api/philosophy/extract\",\n \"/api/philosophy/get-profile\",\n \"/api/philosophy/ingest\",\n \"/api/philosophy/synthesize\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/userSessions.ts\",\n \"packages/reasoning-kernel/src/adapters/ontologies.ts\",\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/ontologies.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\"],\n rules: [\n { resource: \"user_profile\", actions: [\"read\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"theme\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\"],\n requiredTables: [\"users\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"philosophy/conversation-to-profile\"],\n prompts: [\n \"philosophy/deep-thinker\",\n \"philosophy/welcome-back\",\n \"philosophy/detect-philosophical-statement\",\n \"philosophy/content-classifier\",\n \"philosophy/atom-extractor\",\n \"philosophy/summarize-investor-profile\",\n \"philosophy/team-aggregator\",\n \"philosophy/market-synthesis\",\n \"thematic/extractor\",\n ],\n reports: [],\n uiLabels: [\"philosophy_mode\", \"investor_worldview\", \"archetype\"],\n },\n testSuite: {\n parity: [\"philosophy-profile-parity\"],\n policy: [\"philosophy-profile-isolation\"],\n contract: [\"philosophy-pack-contract-v1\"],\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/sprints-v1.ts"],"names":[],"mappings":"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","file":"sprints-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: sprints-v1\n *\n * Declarative runtime contract for the worktree workflow application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const worktreesV1Manifest = defineAppPackManifest({\n key: \"sprints-v1\",\n name: \"Worktrees\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"workflow\",\n description:\n \"Structured research execution workflow with phases, scoring, and worktree-linked tasks.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"worktree.lifecycle\",\n \"worktree.phase-navigation\",\n \"worktree.scoring\",\n \"worktree.workspace\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/topics/[topicId]/worktrees\",\n \"/(projects)/topics/[topicId]/worktrees/[worktreeId]\",\n ],\n api: [\n \"/api/sprint/assess-beliefs\",\n \"/api/sprint/generate-thesis\",\n \"/api/sprint/refine-thesis\",\n \"/api/sprint/welcome\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/worktrees.ts\",\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/worktrees.ts\",\n \"packages/server-core/src/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"task\", actions: [\"read\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\"tests\", \"informs\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\n \"worktrees\",\n \"workflowDefinitions\",\n \"workflowStages\",\n \"tasks\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"worktree/hypothesis-formation\",\n \"worktree/cluster-mapping\",\n \"worktree/question-validation\",\n ],\n prompts: [\"worktree/main-system-prompt\", \"worktree/research-task-planning\"],\n reports: [\"sprint_thesis\"],\n uiLabels: [\"worktree\", \"phase\", \"conviction\", \"thesis\"],\n },\n testSuite: {\n parity: [\"worktree-lifecycle-parity\"],\n policy: [\"worktree-tool-enforcement\"],\n contract: [\"worktrees-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/task-management-v1.ts"],"names":[],"mappings":"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","file":"task-management-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: task-management-v1\n *\n * Declarative runtime contract for the task-management-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const taskManagementV1Manifest = defineAppPackManifest({\n key: \"task-management-v1\",\n name: \"Task Management\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"operations\",\n description:\n \"Operational task system linked to beliefs, questions, worktrees, and AI-assisted execution.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"task.lifecycle\",\n \"task.assignment\",\n \"task.attachments\",\n \"task.ai-execution\",\n \"task.evidence-capture\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/tasks\"],\n api: [\n \"/api/tasks/execute\",\n \"/api/tasks/execute-workflow\",\n \"/api/tasks/refresh-call-script\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/tools/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/tools/*\",\n ],\n convex: [\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"modules/tasks/src/v1/engine/tasks.queries.ts\",\n \"modules/tasks/src/v1/engine/tasks.mutations.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/tasks.ts\",\n \"packages/server-core/src/tasks.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"task\", actions: [\"read\", \"mutate\", \"admin\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"informs\", \"tests\", \"belongs_to\"],\n requiredTables: [\n \"tasks\",\n \"topics\",\n \"worktrees\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"tasks/research-plan\",\n \"tasks/execution-loop\",\n \"tasks/evidence-capture\",\n ],\n prompts: [\"tasks/call-script\", \"tasks/research-plan-generator\"],\n reports: [],\n uiLabels: [\"tasks\", \"assignee\", \"checklist\", \"workflow_status\"],\n },\n testSuite: {\n parity: [\"task-management-parity\"],\n policy: [\"task-project-access-enforcement\"],\n contract: [\"task-management-pack-contract-v1\"],\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/team-analysis-v1.ts"],"names":[],"mappings":"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","file":"team-analysis-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: team-analysis-v1\n *\n * Declarative runtime contract for the team-analysis-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const teamAnalysisV1Manifest = defineAppPackManifest({\n key: \"team-analysis-v1\",\n name: \"Team Analysis\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Team-level behavioral analytics, archetype distribution, and comparative operating patterns.\",\n dependencies: [\"user-profiles-v1\"],\n capabilityFlags: [\n \"team.analytics\",\n \"team.behavioral-summary\",\n \"team.archetype-distribution\",\n \"team.activity-heatmap\",\n ],\n routeNamespace: {\n web: [\"/(team)/team\"],\n api: [\"/api/coaching/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/mc/analytics/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/people/*\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/groups.ts\",\n \"packages/reasoning-kernel/src/adapters/telemetry.ts\",\n ],\n tools: [\n \"packages/server-core/src/identity.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n { resource: \"team_analytics\", actions: [\"read\", \"admin\"] },\n { resource: \"user_profile\", actions: [\"read\"] },\n { resource: \"project\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\"],\n requiredEdgeTypes: [\"informs\", \"tests\"],\n requiredTables: [\n \"users\",\n \"epistemicAudit\",\n \"beliefConfidence\",\n \"contradictions\",\n \"calibrationScores\",\n \"tasks\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"team/behavioral-summary\", \"team/coverage-gap-analysis\"],\n prompts: [\"coaching/team-summary\", \"coaching/team-recommendations\"],\n reports: [\"team-operating-review\"],\n uiLabels: [\"team\", \"behavior\", \"distribution\", \"coverage\"],\n },\n testSuite: {\n parity: [\"team-page-parity\"],\n policy: [\"team-analytics-admin-scope\"],\n contract: [\"team-analysis-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/themes-v1.ts"],"names":[],"mappings":"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","file":"themes-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: themes-v1\n *\n * Declarative runtime contract for the themes-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const themesV1Manifest = defineAppPackManifest({\n key: \"themes-v1\",\n name: \"Themes\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Thematic research lifecycle built on graph primitives, worktree workflows, and conviction analytics.\",\n dependencies: [\n \"chat-v1\",\n \"epistemic-algorithms-v1\",\n \"news-v1\",\n \"documents-v1\",\n ],\n capabilityFlags: [\n \"theme.lifecycle\",\n \"belief.question.evidence\",\n \"thesis.development\",\n \"reporting\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects\",\n \"/(projects)/projects/[projectId]\",\n \"/(projects)/projects/[projectId]/beliefs-v2\",\n \"/(projects)/projects/[projectId]/questions\",\n \"/(projects)/projects/[projectId]/research\",\n \"/(projects)/projects/[projectId]/reports\",\n ],\n api: [\"/api/research/*\", \"/api/reports/*\", \"/api/questions/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/beliefs.ts\",\n \"packages/mcp/src/handlers/questions.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"report_section\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"theme\", \"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\", \"informs\", \"tests\"],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"workflowDefinitions\",\n \"workflowStages\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"themes/default-lifecycle\", \"themes/worktree-thesis-loop\"],\n prompts: [\n \"thematic/extractor\",\n \"reports/thematic-long-form/thesis-statement\",\n \"reports/thematic-long-form/belief-map\",\n ],\n reports: [\"thematic-long-form\", \"knowledge-map\"],\n uiLabels: [\"theme\", \"belief\", \"question\", \"evidence\", \"conviction\"],\n },\n testSuite: {\n parity: [\"themes-v1-parity-against-current\"],\n policy: [\"theme-compilation-entitlement-filtering\"],\n contract: [\"themes-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/contracts.ts","../../src/manifests/user-profiles-v1.ts"],"names":[],"mappings":"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","file":"user-profiles-v1.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * App Pack Manifest: user-profiles-v1\n *\n * Declarative runtime contract for the user-profiles-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const userProfilesV1Manifest = defineAppPackManifest({\n key: \"user-profiles-v1\",\n name: \"User Profiles\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"identity\",\n description:\n \"Individual cognition and operating profile layer including journey progression, archetypes, and behavioral telemetry.\",\n dependencies: [],\n capabilityFlags: [\n \"user.profile\",\n \"user.journey\",\n \"user.analytics\",\n \"voice.preferences\",\n ],\n routeNamespace: {\n web: [\"/(team)/team/[userId]\"],\n api: [\"/api/philosophy/get-profile\", \"/api/mobile/v1/session\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/userSessions.ts\",\n \"services/master-control/convex/groups.ts\",\n ],\n tools: [\"packages/server-core/src/identity.ts\"],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n {\n resource: \"user_profile\",\n actions: [\"read\", \"mutate\"],\n notes: \"Users can edit self; tenant admins can read broader profiles.\",\n },\n { resource: \"project\", actions: [\"read\"] },\n { resource: \"team_analytics\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [],\n requiredEdgeTypes: [],\n requiredTables: [\n \"users\",\n \"userSessions\",\n \"principals\",\n \"principalIdentityAliases\",\n \"calibrationScores\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"user/profile-synthesis\", \"user/journey-update\"],\n prompts: [\"coaching/user-eval\", \"philosophy/profile-synthesis\"],\n reports: [\"user-profile-summary\"],\n uiLabels: [\"profile\", \"journey\", \"archetype\", \"calibration\"],\n },\n testSuite: {\n parity: [\"user-profile-page-parity\"],\n policy: [\"user-profile-self-vs-admin-access\"],\n contract: [\"user-profiles-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n"]}