@gyoungwe/research-suite 0.1.5 → 0.1.6

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 (145) hide show
  1. package/build-manifest.json +2 -2
  2. package/node_modules/@gyoungwe/pi-core/build-manifest.json +2 -2
  3. package/node_modules/@gyoungwe/pi-core/dist/index.mjs +198 -7
  4. package/node_modules/@gyoungwe/pi-core/package.json +1 -1
  5. package/node_modules/@gyoungwe/pi-knowledge/build-manifest.json +68 -3
  6. package/node_modules/@gyoungwe/pi-knowledge/dist/core/capability-discovery.d.ts +7 -0
  7. package/node_modules/@gyoungwe/pi-knowledge/dist/core/capability-discovery.d.ts.map +1 -0
  8. package/node_modules/@gyoungwe/pi-knowledge/dist/core/claim-conflicts.d.ts +30 -0
  9. package/node_modules/@gyoungwe/pi-knowledge/dist/core/claim-conflicts.d.ts.map +1 -0
  10. package/node_modules/@gyoungwe/pi-knowledge/dist/core/config.d.ts +55 -0
  11. package/node_modules/@gyoungwe/pi-knowledge/dist/core/config.d.ts.map +1 -0
  12. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery-prompt.d.ts +11 -0
  13. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery-prompt.d.ts.map +1 -0
  14. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery.d.ts +26 -0
  15. package/node_modules/@gyoungwe/pi-knowledge/dist/core/daily-discovery.d.ts.map +1 -0
  16. package/node_modules/@gyoungwe/pi-knowledge/dist/core/deliverable-review.d.ts +127 -0
  17. package/node_modules/@gyoungwe/pi-knowledge/dist/core/deliverable-review.d.ts.map +1 -0
  18. package/node_modules/@gyoungwe/pi-knowledge/dist/core/evolution.d.ts +39 -0
  19. package/node_modules/@gyoungwe/pi-knowledge/dist/core/evolution.d.ts.map +1 -0
  20. package/node_modules/@gyoungwe/pi-knowledge/dist/core/experience-store.d.ts +290 -0
  21. package/node_modules/@gyoungwe/pi-knowledge/dist/core/experience-store.d.ts.map +1 -0
  22. package/node_modules/@gyoungwe/pi-knowledge/dist/core/extension-helpers.d.ts +38 -0
  23. package/node_modules/@gyoungwe/pi-knowledge/dist/core/extension-helpers.d.ts.map +1 -0
  24. package/node_modules/@gyoungwe/pi-knowledge/dist/core/files.d.ts +39 -0
  25. package/node_modules/@gyoungwe/pi-knowledge/dist/core/files.d.ts.map +1 -0
  26. package/node_modules/@gyoungwe/pi-knowledge/dist/core/flow-cards.d.ts +77 -0
  27. package/node_modules/@gyoungwe/pi-knowledge/dist/core/flow-cards.d.ts.map +1 -0
  28. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-cache.d.ts +14 -0
  29. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-cache.d.ts.map +1 -0
  30. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-retrieval.d.ts +44 -0
  31. package/node_modules/@gyoungwe/pi-knowledge/dist/core/graph-retrieval.d.ts.map +1 -0
  32. package/node_modules/@gyoungwe/pi-knowledge/dist/core/host.d.ts +9 -0
  33. package/node_modules/@gyoungwe/pi-knowledge/dist/core/host.d.ts.map +1 -0
  34. package/node_modules/@gyoungwe/pi-knowledge/dist/core/index.d.ts +46 -0
  35. package/node_modules/@gyoungwe/pi-knowledge/dist/core/index.d.ts.map +1 -0
  36. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-frontmatter.d.ts +125 -0
  37. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-frontmatter.d.ts.map +1 -0
  38. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-identity.d.ts +93 -0
  39. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-identity.d.ts.map +1 -0
  40. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-policy.d.ts +63 -0
  41. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ingest-policy.d.ts.map +1 -0
  42. package/node_modules/@gyoungwe/pi-knowledge/dist/core/layout.d.ts +47 -0
  43. package/node_modules/@gyoungwe/pi-knowledge/dist/core/layout.d.ts.map +1 -0
  44. package/node_modules/@gyoungwe/pi-knowledge/dist/core/maintenance.d.ts +16 -0
  45. package/node_modules/@gyoungwe/pi-knowledge/dist/core/maintenance.d.ts.map +1 -0
  46. package/node_modules/@gyoungwe/pi-knowledge/dist/core/memory-note.d.ts +14 -0
  47. package/node_modules/@gyoungwe/pi-knowledge/dist/core/memory-note.d.ts.map +1 -0
  48. package/node_modules/@gyoungwe/pi-knowledge/dist/core/metacognitive-policy.d.ts +116 -0
  49. package/node_modules/@gyoungwe/pi-knowledge/dist/core/metacognitive-policy.d.ts.map +1 -0
  50. package/node_modules/@gyoungwe/pi-knowledge/dist/core/note-title.d.ts +8 -0
  51. package/node_modules/@gyoungwe/pi-knowledge/dist/core/note-title.d.ts.map +1 -0
  52. package/node_modules/@gyoungwe/pi-knowledge/dist/core/orchestration-policy.d.ts +84 -0
  53. package/node_modules/@gyoungwe/pi-knowledge/dist/core/orchestration-policy.d.ts.map +1 -0
  54. package/node_modules/@gyoungwe/pi-knowledge/dist/core/project-identity.d.ts +70 -0
  55. package/node_modules/@gyoungwe/pi-knowledge/dist/core/project-identity.d.ts.map +1 -0
  56. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication-policy.d.ts +39 -0
  57. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication-policy.d.ts.map +1 -0
  58. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication.d.ts +24 -0
  59. package/node_modules/@gyoungwe/pi-knowledge/dist/core/publication.d.ts.map +1 -0
  60. package/node_modules/@gyoungwe/pi-knowledge/dist/core/recent-by-category.d.ts +15 -0
  61. package/node_modules/@gyoungwe/pi-knowledge/dist/core/recent-by-category.d.ts.map +1 -0
  62. package/node_modules/@gyoungwe/pi-knowledge/dist/core/related-notes.d.ts +4 -0
  63. package/node_modules/@gyoungwe/pi-knowledge/dist/core/related-notes.d.ts.map +1 -0
  64. package/node_modules/@gyoungwe/pi-knowledge/dist/core/reuse.d.ts +124 -0
  65. package/node_modules/@gyoungwe/pi-knowledge/dist/core/reuse.d.ts.map +1 -0
  66. package/node_modules/@gyoungwe/pi-knowledge/dist/core/review-policy.d.ts +12 -0
  67. package/node_modules/@gyoungwe/pi-knowledge/dist/core/review-policy.d.ts.map +1 -0
  68. package/node_modules/@gyoungwe/pi-knowledge/dist/core/runtime-host.d.ts +98 -0
  69. package/node_modules/@gyoungwe/pi-knowledge/dist/core/runtime-host.d.ts.map +1 -0
  70. package/node_modules/@gyoungwe/pi-knowledge/dist/core/search-policy.d.ts +14 -0
  71. package/node_modules/@gyoungwe/pi-knowledge/dist/core/search-policy.d.ts.map +1 -0
  72. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-model.d.ts +85 -0
  73. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-model.d.ts.map +1 -0
  74. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-provider.d.ts +41 -0
  75. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-provider.d.ts.map +1 -0
  76. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-settings.d.ts +30 -0
  77. package/node_modules/@gyoungwe/pi-knowledge/dist/core/semantic-settings.d.ts.map +1 -0
  78. package/node_modules/@gyoungwe/pi-knowledge/dist/core/service.d.ts +171 -0
  79. package/node_modules/@gyoungwe/pi-knowledge/dist/core/service.d.ts.map +1 -0
  80. package/node_modules/@gyoungwe/pi-knowledge/dist/core/source-links.d.ts +13 -0
  81. package/node_modules/@gyoungwe/pi-knowledge/dist/core/source-links.d.ts.map +1 -0
  82. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-delivery.d.ts +8 -0
  83. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-delivery.d.ts.map +1 -0
  84. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-host.d.ts +61 -0
  85. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialist-host.d.ts.map +1 -0
  86. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialists.d.ts +55 -0
  87. package/node_modules/@gyoungwe/pi-knowledge/dist/core/specialists.d.ts.map +1 -0
  88. package/node_modules/@gyoungwe/pi-knowledge/dist/core/task-feedback.d.ts +57 -0
  89. package/node_modules/@gyoungwe/pi-knowledge/dist/core/task-feedback.d.ts.map +1 -0
  90. package/node_modules/@gyoungwe/pi-knowledge/dist/core/tool-budget.d.ts +24 -0
  91. package/node_modules/@gyoungwe/pi-knowledge/dist/core/tool-budget.d.ts.map +1 -0
  92. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-candidate.d.ts +22 -0
  93. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-candidate.d.ts.map +1 -0
  94. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-memory.d.ts +79 -0
  95. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-memory.d.ts.map +1 -0
  96. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-probe.d.ts +2 -0
  97. package/node_modules/@gyoungwe/pi-knowledge/dist/core/topic-probe.d.ts.map +1 -0
  98. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-service.d.ts +360 -0
  99. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-service.d.ts.map +1 -0
  100. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-state.d.ts +28 -0
  101. package/node_modules/@gyoungwe/pi-knowledge/dist/core/ui-state.d.ts.map +1 -0
  102. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-model-review.d.ts +167 -0
  103. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-model-review.d.ts.map +1 -0
  104. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-policy.d.ts +34 -0
  105. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-policy.d.ts.map +1 -0
  106. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-review.d.ts +74 -0
  107. package/node_modules/@gyoungwe/pi-knowledge/dist/core/wiki-review.d.ts.map +1 -0
  108. package/node_modules/@gyoungwe/pi-knowledge/dist/core/worker.d.ts +2 -0
  109. package/node_modules/@gyoungwe/pi-knowledge/dist/core/worker.d.ts.map +1 -0
  110. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/internal-knowledge-extension.d.ts +42 -0
  111. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/internal-knowledge-extension.d.ts.map +1 -0
  112. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-extension.d.ts +5 -0
  113. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-extension.d.ts.map +1 -0
  114. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-worker.d.ts +6 -0
  115. package/node_modules/@gyoungwe/pi-knowledge/dist/extension/knowledge-worker.d.ts.map +1 -0
  116. package/node_modules/@gyoungwe/pi-knowledge/dist/host.d.ts +7 -0
  117. package/node_modules/@gyoungwe/pi-knowledge/dist/host.d.ts.map +1 -0
  118. package/node_modules/@gyoungwe/pi-knowledge/dist/host.mjs +11638 -0
  119. package/node_modules/@gyoungwe/pi-knowledge/dist/index.d.ts +6 -0
  120. package/node_modules/@gyoungwe/pi-knowledge/dist/index.d.ts.map +1 -0
  121. package/node_modules/@gyoungwe/pi-knowledge/dist/index.mjs +4728 -10301
  122. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/plan.d.ts +41 -0
  123. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/plan.d.ts.map +1 -0
  124. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/prompts.d.ts +10 -0
  125. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/prompts.d.ts.map +1 -0
  126. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/run.d.ts +31 -0
  127. package/node_modules/@gyoungwe/pi-knowledge/dist/maintenance/run.d.ts.map +1 -0
  128. package/node_modules/@gyoungwe/pi-knowledge/lib/knowledge/runtime/.knowledge-worker-manifest.json +9 -0
  129. package/node_modules/@gyoungwe/pi-knowledge/lib/knowledge/runtime/worker.mjs +142 -12
  130. package/node_modules/@gyoungwe/pi-knowledge/package.json +21 -3
  131. package/node_modules/@gyoungwe/pi-knowledge/plugin.manifest.json +23 -1
  132. package/node_modules/@gyoungwe/pi-research/build-manifest.json +2 -2
  133. package/node_modules/@gyoungwe/pi-research/dist/index.mjs +3141 -613
  134. package/node_modules/@gyoungwe/pi-research/package.json +1 -1
  135. package/node_modules/@gyoungwe/plugin-api/dist/index.d.ts +101 -0
  136. package/node_modules/@gyoungwe/plugin-api/dist/index.d.ts.map +1 -1
  137. package/node_modules/@gyoungwe/plugin-api/dist/index.js +124 -0
  138. package/node_modules/@gyoungwe/plugin-api/dist/index.js.map +1 -1
  139. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.d.ts +486 -0
  140. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.d.ts.map +1 -0
  141. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.js +251 -0
  142. package/node_modules/@gyoungwe/plugin-api/dist/knowledge.js.map +1 -0
  143. package/node_modules/@gyoungwe/plugin-api/package.json +6 -1
  144. package/package.json +6 -6
  145. package/plugin.manifest.json +39 -3
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 1,
3
3
  "generator": "packages/research-suite/scripts/build.mjs",
4
- "packageVersion": "0.1.5",
4
+ "packageVersion": "0.1.6",
5
5
  "bundled": [
6
6
  "@gyoungwe/pi-core",
7
7
  "@gyoungwe/pi-knowledge",
8
8
  "@gyoungwe/pi-research"
9
9
  ],
10
- "dependenciesSha256": "ee57d5411edbbd02065e3d91ce5ac3d528c0faa77f81111aabd16c4062a1a6ca"
10
+ "dependenciesSha256": "5db2cbef3b8c1eeec34b7e1d16766aaa7025912dbb19cb040dfdb0c167afdab5"
11
11
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": 1,
3
3
  "generator": "scripts/build-pi-core.mjs",
4
- "inputsSha256": "de6fabddabb2c24748d325d3484d0c76bfde8ede915da8225d7f4d47927f282c",
4
+ "inputsSha256": "a912656013c014410f9ef484f717ce4d4c71a9301b619df43ab5eec93441a4c1",
5
5
  "outputs": {
6
- "dist/index.mjs": "6c3bdc2006cf6e329f10492c943a32fb50f1ddc8d32175fbcd99605df5fde1bb"
6
+ "dist/index.mjs": "9e1750ae74732ec35ce2ab0496d26180b308a312b7a7e5479c81d5a2fb59a736"
7
7
  }
8
8
  }
@@ -2819,9 +2819,10 @@ Use task_status for operational delivery. Verify unknown outcomes before repeati
2819
2819
  // src/drone-commands.ts
2820
2820
  import { readFileSync } from "node:fs";
2821
2821
  import { createRequire } from "node:module";
2822
- import { join } from "node:path";
2822
+ import { dirname, join } from "node:path";
2823
+ import { fileURLToPath } from "node:url";
2823
2824
  var DRONE_COMMAND_SCHEMA_VERSION = 1;
2824
- var PI_CORE_PACKAGE_VERSION = "0.1.3";
2825
+ var PI_CORE_PACKAGE_VERSION = "0.1.5";
2825
2826
  var PI_HOST_RANGE = ">=1.1.0 <2.0.0";
2826
2827
  var CORE_TOOLS = [
2827
2828
  "ask_user",
@@ -2874,13 +2875,41 @@ var EXAMPLE_KINDS = new Set(Object.keys(EXAMPLE_PROFILES));
2874
2875
  function packageVersion() {
2875
2876
  const configured = process.env.PI_VERSION?.trim();
2876
2877
  if (configured) return { version: configured, source: "PI_VERSION" };
2878
+ const readPackageFrom = (entry) => {
2879
+ let current = entry;
2880
+ try {
2881
+ current = dirname(current);
2882
+ } catch {
2883
+ return void 0;
2884
+ }
2885
+ for (let depth = 0; depth < 8; depth += 1) {
2886
+ const packagePath = join(current, "package.json");
2887
+ try {
2888
+ const metadata = JSON.parse(readFileSync(packagePath, "utf8"));
2889
+ if (metadata?.name === "@earendil-works/pi-coding-agent" && typeof metadata.version === "string" && metadata.version.length > 0)
2890
+ return { version: metadata.version, source: "resolved-package" };
2891
+ } catch {
2892
+ }
2893
+ const parent = dirname(current);
2894
+ if (parent === current) break;
2895
+ current = parent;
2896
+ }
2897
+ return void 0;
2898
+ };
2899
+ const candidates = [fileURLToPath(import.meta.url), process.argv[1], process.cwd()].filter(
2900
+ (entry) => typeof entry === "string" && entry.length > 0
2901
+ );
2902
+ for (const candidate of candidates) {
2903
+ const resolved = readPackageFrom(candidate);
2904
+ if (resolved) return resolved;
2905
+ }
2877
2906
  try {
2878
2907
  const require2 = createRequire(import.meta.url);
2879
2908
  for (const base of require2.resolve.paths("@earendil-works/pi-coding-agent") ?? []) {
2880
2909
  const packagePath = join(base, "@earendil-works/pi-coding-agent", "package.json");
2881
2910
  try {
2882
2911
  const metadata = JSON.parse(readFileSync(packagePath, "utf8"));
2883
- if (typeof metadata.version === "string" && metadata.version.length > 0)
2912
+ if (metadata.name === "@earendil-works/pi-coding-agent" && typeof metadata.version === "string" && metadata.version.length > 0)
2884
2913
  return { version: metadata.version, source: "resolved-package" };
2885
2914
  } catch {
2886
2915
  }
@@ -10905,6 +10934,18 @@ var ComputeHostInputSchema = typebox_exports.Object(
10905
10934
  },
10906
10935
  { additionalProperties: false }
10907
10936
  );
10937
+ var ComputeSshConfigHostSchema = typebox_exports.Object(
10938
+ {
10939
+ alias: typebox_exports.String({ minLength: 1, maxLength: 64, pattern: "^[A-Za-z0-9._-]+$" }),
10940
+ hostname: typebox_exports.Optional(typebox_exports.String({ maxLength: 512 })),
10941
+ port: typebox_exports.Optional(typebox_exports.Integer({ minimum: 1, maximum: 65535 })),
10942
+ user: typebox_exports.Optional(typebox_exports.String({ maxLength: 128 })),
10943
+ identityFiles: typebox_exports.Array(typebox_exports.String({ maxLength: 1024 }), { maxItems: 8 }),
10944
+ proxyJump: typebox_exports.Optional(typebox_exports.String({ maxLength: 512 })),
10945
+ source: typebox_exports.Literal("ssh-config")
10946
+ },
10947
+ { additionalProperties: false }
10948
+ );
10908
10949
  var ComputeBudgetSchema = typebox_exports.Object(
10909
10950
  {
10910
10951
  /** Total CPU core-hours allowed for this task. */
@@ -11828,6 +11869,61 @@ var GitBranchesSchema = typebox_exports.Object(
11828
11869
  { additionalProperties: false }
11829
11870
  );
11830
11871
  var NullableString = typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()]);
11872
+ var SkillRepositoryAddInputSchema = typebox_exports.Unsafe(
11873
+ typebox_exports.Object(
11874
+ {
11875
+ kind: typebox_exports.Union([typebox_exports.Literal("git"), typebox_exports.Literal("local")]),
11876
+ source: typebox_exports.String({ minLength: 1, maxLength: 4096 }),
11877
+ ref: typebox_exports.Optional(typebox_exports.String({ minLength: 1, maxLength: 256 })),
11878
+ subpath: typebox_exports.Optional(typebox_exports.String({ maxLength: 1024 })),
11879
+ license: typebox_exports.String({ minLength: 1, maxLength: 256 }),
11880
+ licenseEvidence: typebox_exports.Optional(typebox_exports.String({ maxLength: 4096 })),
11881
+ name: typebox_exports.Optional(typebox_exports.String({ maxLength: 256 }))
11882
+ },
11883
+ { additionalProperties: false }
11884
+ )
11885
+ );
11886
+ var SkillRepositoryRecordSchema = typebox_exports.Unsafe(
11887
+ typebox_exports.Object(
11888
+ {
11889
+ id: typebox_exports.String({ minLength: 1, maxLength: 64 }),
11890
+ name: typebox_exports.String({ minLength: 1, maxLength: 256 }),
11891
+ kind: typebox_exports.Union([typebox_exports.Literal("git"), typebox_exports.Literal("local")]),
11892
+ source: typebox_exports.String({ minLength: 1, maxLength: 4096 }),
11893
+ ref: typebox_exports.Optional(typebox_exports.String({ maxLength: 256 })),
11894
+ subpath: typebox_exports.Optional(typebox_exports.String({ maxLength: 1024 })),
11895
+ license: typebox_exports.String({ minLength: 1, maxLength: 256 }),
11896
+ licenseEvidence: typebox_exports.Optional(typebox_exports.String({ maxLength: 4096 })),
11897
+ status: typebox_exports.Union([typebox_exports.Literal("ready"), typebox_exports.Literal("update-available"), typebox_exports.Literal("error")]),
11898
+ skillCount: typebox_exports.Integer({ minimum: 0, maximum: 1e3 }),
11899
+ lastCheckedAt: typebox_exports.Optional(typebox_exports.String({ maxLength: 64 })),
11900
+ lastAppliedAt: typebox_exports.Optional(typebox_exports.String({ maxLength: 64 })),
11901
+ lastError: typebox_exports.Optional(typebox_exports.String({ maxLength: 2e3 })),
11902
+ updateAvailable: typebox_exports.Optional(typebox_exports.Boolean())
11903
+ },
11904
+ { additionalProperties: false }
11905
+ )
11906
+ );
11907
+ var SkillRepositoryListSchema = typebox_exports.Array(SkillRepositoryRecordSchema, { maxItems: 100 });
11908
+ var SkillRepositoryCheckResultSchema = typebox_exports.Unsafe(
11909
+ typebox_exports.Object(
11910
+ {
11911
+ repository: SkillRepositoryRecordSchema,
11912
+ changedFiles: typebox_exports.Array(typebox_exports.String({ maxLength: 1024 }), { maxItems: 1e3 })
11913
+ },
11914
+ { additionalProperties: false }
11915
+ )
11916
+ );
11917
+ var SkillRepositoryUpdateResultSchema = typebox_exports.Unsafe(
11918
+ typebox_exports.Object(
11919
+ {
11920
+ repository: SkillRepositoryRecordSchema,
11921
+ changedFiles: typebox_exports.Array(typebox_exports.String({ maxLength: 1024 }), { maxItems: 1e3 }),
11922
+ restartedRequired: typebox_exports.Literal(true)
11923
+ },
11924
+ { additionalProperties: false }
11925
+ )
11926
+ );
11831
11927
  var AppContract = defineDomain("app", {
11832
11928
  methods: {
11833
11929
  getInfo: {
@@ -11915,8 +12011,26 @@ var AppContract = defineDomain("app", {
11915
12011
  checkForUpdates: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
11916
12012
  downloadUpdate: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
11917
12013
  installUpdate: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
12014
+ checkResearchSkills: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
11918
12015
  updateResearchSkills: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
11919
12016
  restartForResearchSkills: { args: typebox_exports.Tuple([]), result: typebox_exports.Void() },
12017
+ listSkillRepositories: { args: typebox_exports.Tuple([]), result: SkillRepositoryListSchema },
12018
+ addSkillRepository: {
12019
+ args: typebox_exports.Tuple([SkillRepositoryAddInputSchema]),
12020
+ result: SkillRepositoryRecordSchema
12021
+ },
12022
+ checkSkillRepository: {
12023
+ args: typebox_exports.Tuple([typebox_exports.String({ minLength: 1, maxLength: 64 })]),
12024
+ result: SkillRepositoryCheckResultSchema
12025
+ },
12026
+ updateSkillRepository: {
12027
+ args: typebox_exports.Tuple([typebox_exports.String({ minLength: 1, maxLength: 64 })]),
12028
+ result: SkillRepositoryUpdateResultSchema
12029
+ },
12030
+ removeSkillRepository: {
12031
+ args: typebox_exports.Tuple([typebox_exports.String({ minLength: 1, maxLength: 64 })]),
12032
+ result: typebox_exports.Void()
12033
+ },
11920
12034
  saveFileDialog: {
11921
12035
  args: typebox_exports.Tuple([typebox_exports.String(), typebox_exports.String()]),
11922
12036
  result: NullableString
@@ -11929,6 +12043,7 @@ var AppContract = defineDomain("app", {
11929
12043
  result: NullableString
11930
12044
  },
11931
12045
  pickDirectory: { args: typebox_exports.Tuple([]), result: NullableString },
12046
+ formalKnowledgeVault: { args: typebox_exports.Tuple([]), result: NullableString },
11932
12047
  getGitBranch: { args: typebox_exports.Tuple([typebox_exports.String()]), result: NullableString },
11933
12048
  listGitBranches: { args: typebox_exports.Tuple([typebox_exports.String()]), result: GitBranchesSchema },
11934
12049
  checkoutBranch: { args: typebox_exports.Tuple([typebox_exports.String(), typebox_exports.String()]), result: typebox_exports.String() }
@@ -12006,6 +12121,7 @@ var OnboardingStepArgs = typebox_exports.Tuple([
12006
12121
  var ComputeContract = defineDomain("compute", {
12007
12122
  methods: {
12008
12123
  listHosts: { args: EmptyArgs, result: typebox_exports.Array(ComputeHostSchema, { maxItems: 256 }) },
12124
+ listSshConfig: { args: EmptyArgs, result: typebox_exports.Array(ComputeSshConfigHostSchema, { maxItems: 256 }) },
12009
12125
  getHost: { args: IdArgs, result: typebox_exports.Union([ComputeHostSchema, typebox_exports.Null()]) },
12010
12126
  saveHost: { args: typebox_exports.Tuple([ComputeHostInputSchema]), result: ComputeHostSchema },
12011
12127
  removeHost: { args: IdArgs, result: typebox_exports.Void() },
@@ -12349,9 +12465,10 @@ var SpecialistSettingsInput = typebox_exports.Object(
12349
12465
  );
12350
12466
  var ZoteroStatusSchema = typebox_exports.Object(
12351
12467
  {
12352
- registered: typebox_exports.Boolean(),
12353
- enabled: typebox_exports.Boolean(),
12468
+ registered: typebox_exports.Optional(typebox_exports.Boolean()),
12469
+ enabled: typebox_exports.Optional(typebox_exports.Boolean()),
12354
12470
  command: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()]),
12471
+ version: typebox_exports.Optional(typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()])),
12355
12472
  localApiReachable: typebox_exports.Boolean(),
12356
12473
  desktopDetected: typebox_exports.Boolean(),
12357
12474
  desktopPath: typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()]),
@@ -12547,6 +12664,13 @@ var KnowledgeContract = defineDomain("knowledge", {
12547
12664
  args: OneObject(),
12548
12665
  result: typebox_exports.Unknown()
12549
12666
  },
12667
+ getMaintenanceSettings: { args: typebox_exports.Tuple([]), result: ResultObject() },
12668
+ saveMaintenanceSettings: {
12669
+ args: OneObject(),
12670
+ result: ResultObject()
12671
+ },
12672
+ runMaintenance: { args: OneObject(), result: ResultObject() },
12673
+ getMaintenanceRuns: { args: typebox_exports.Tuple([]), result: typebox_exports.Array(ResultObject()) },
12550
12674
  getZoteroStatus: {
12551
12675
  args: typebox_exports.Tuple([]),
12552
12676
  result: ZoteroStatusSchema
@@ -12778,6 +12902,60 @@ var ConfiguredPackageInfoSchema = typebox_exports.Object(
12778
12902
  },
12779
12903
  { additionalProperties: false }
12780
12904
  );
12905
+ var PackageLifecycleEventSchema = typebox_exports.Object(
12906
+ {
12907
+ type: typebox_exports.Union([
12908
+ typebox_exports.Literal("staged"),
12909
+ typebox_exports.Literal("verified"),
12910
+ typebox_exports.Literal("enabled"),
12911
+ typebox_exports.Literal("disabled"),
12912
+ typebox_exports.Literal("drained"),
12913
+ typebox_exports.Literal("reloaded"),
12914
+ typebox_exports.Literal("reload_deferred"),
12915
+ typebox_exports.Literal("rolled_back"),
12916
+ typebox_exports.Literal("failed")
12917
+ ]),
12918
+ at: typebox_exports.Number({ minimum: 0 }),
12919
+ sessionId: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })),
12920
+ detail: typebox_exports.Optional(typebox_exports.String())
12921
+ },
12922
+ { additionalProperties: false }
12923
+ );
12924
+ var PackageLifecycleErrorSchema = typebox_exports.Object(
12925
+ {
12926
+ code: typebox_exports.Union([
12927
+ typebox_exports.Literal("invalid-source"),
12928
+ typebox_exports.Literal("builtin"),
12929
+ typebox_exports.Literal("not-installed"),
12930
+ typebox_exports.Literal("unavailable"),
12931
+ typebox_exports.Literal("operation-failed")
12932
+ ]),
12933
+ message: typebox_exports.String({ minLength: 1 }),
12934
+ retryable: typebox_exports.Boolean()
12935
+ },
12936
+ { additionalProperties: false }
12937
+ );
12938
+ var PackageLifecycleReceiptSchema = typebox_exports.Object(
12939
+ {
12940
+ operation: typebox_exports.Union([typebox_exports.Literal("install"), typebox_exports.Literal("update"), typebox_exports.Literal("remove")]),
12941
+ packageName: typebox_exports.String({ minLength: 1 }),
12942
+ source: typebox_exports.String({ minLength: 1 }),
12943
+ scope: typebox_exports.Union([typebox_exports.Literal("user"), typebox_exports.Literal("project")]),
12944
+ status: typebox_exports.Union([typebox_exports.Literal("succeeded"), typebox_exports.Literal("failed")]),
12945
+ effect: typebox_exports.Union([
12946
+ typebox_exports.Literal("current-session"),
12947
+ typebox_exports.Literal("next-session"),
12948
+ typebox_exports.Literal("app-restart")
12949
+ ]),
12950
+ version: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })),
12951
+ previousVersion: typebox_exports.Optional(typebox_exports.String({ minLength: 1 })),
12952
+ events: typebox_exports.Array(PackageLifecycleEventSchema),
12953
+ error: typebox_exports.Optional(PackageLifecycleErrorSchema),
12954
+ reloadedSessionIds: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ minLength: 1 }))),
12955
+ deferredSessionIds: typebox_exports.Optional(typebox_exports.Array(typebox_exports.String({ minLength: 1 })))
12956
+ },
12957
+ { additionalProperties: false }
12958
+ );
12781
12959
  var PackagesContract = defineDomain("packages", {
12782
12960
  methods: {
12783
12961
  searchCatalog: {
@@ -12786,16 +12964,25 @@ var PackagesContract = defineDomain("packages", {
12786
12964
  args: SearchCatalogArgsSchema,
12787
12965
  result: typebox_exports.Unsafe(CatalogSearchResultSchema)
12788
12966
  },
12967
+ /** Latest published npm version per package name (null when unknown/offline). */
12968
+ latestPackageVersions: {
12969
+ args: typebox_exports.Tuple([typebox_exports.Array(typebox_exports.String({ minLength: 1 }), { maxItems: 50 })]),
12970
+ result: typebox_exports.Record(typebox_exports.String(), typebox_exports.Union([typebox_exports.String(), typebox_exports.Null()]))
12971
+ },
12789
12972
  installPackage: {
12790
12973
  args: typebox_exports.Tuple([typebox_exports.String({ minLength: 1 })]),
12791
- result: typebox_exports.Void()
12974
+ result: typebox_exports.Unsafe(PackageLifecycleReceiptSchema)
12975
+ },
12976
+ updatePackage: {
12977
+ args: typebox_exports.Tuple([typebox_exports.String({ minLength: 1 })]),
12978
+ result: typebox_exports.Unsafe(PackageLifecycleReceiptSchema)
12792
12979
  },
12793
12980
  removePackage: {
12794
12981
  args: typebox_exports.Tuple([
12795
12982
  typebox_exports.String({ minLength: 1 }),
12796
12983
  typebox_exports.Union([typebox_exports.Literal("user"), typebox_exports.Literal("project")])
12797
12984
  ]),
12798
- result: typebox_exports.Void()
12985
+ result: typebox_exports.Unsafe(PackageLifecycleReceiptSchema)
12799
12986
  },
12800
12987
  listConfiguredPackages: {
12801
12988
  args: typebox_exports.Tuple([]),
@@ -13112,6 +13299,10 @@ var SessionsContract = defineDomain("sessions", {
13112
13299
  { additionalProperties: false }
13113
13300
  )
13114
13301
  },
13302
+ setSkillNamesEnabled: {
13303
+ args: typebox_exports.Tuple([Id2, typebox_exports.Array(typebox_exports.String()), typebox_exports.Boolean()]),
13304
+ result: typebox_exports.Object({ disabled: typebox_exports.Array(typebox_exports.String()) }, { additionalProperties: false })
13305
+ },
13115
13306
  compact: {
13116
13307
  args: typebox_exports.Union([typebox_exports.Tuple([Id2]), typebox_exports.Tuple([Id2, typebox_exports.String()])]),
13117
13308
  result: typebox_exports.Void()
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gyoungwe/pi-core",
3
- "version": "0.1.3",
3
+ "version": "0.1.6",
4
4
  "description": "Portable task, authorization, status, delivery and memory tools for native Pi",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -1,10 +1,75 @@
1
1
  {
2
2
  "version": 1,
3
3
  "generator": "packages/pi-knowledge/scripts/build.mjs",
4
- "artifactSource": "drone-host-bundle",
4
+ "artifactSource": "source",
5
+ "sourceHashes": {
6
+ "src/core/capability-discovery.ts": "962bef1c1c6e9e30d585af8d2f4ce0f31766fde9ec4afea11365be8ea79d31ef",
7
+ "src/core/claim-conflicts.ts": "6b4e4bd055f1b9e76b973aa2a08a0e6548db812caa8a6d72c3c5d62584254d58",
8
+ "src/core/config.ts": "fd6015f981b5487bad8a3b1a0ecedb04a2e5e84991f38e7a1f8d0d0ea21b4960",
9
+ "src/core/daily-discovery-prompt.ts": "c28637942e1fd1c36a91c4dfb50a04a983a1e3bd7200d18d3f77ac2d520874f4",
10
+ "src/core/daily-discovery.ts": "02e54436862455e852b337f7f26780438f3591a85718645506a5b6596ef9087f",
11
+ "src/core/deliverable-review.ts": "808e3f5c1df55ceb78829edf22aa9d0d1639d20f3ff666fb7e51649c2c110e0f",
12
+ "src/core/evolution.ts": "f4167966c7ecaf8c93165831752129c02d85a0f024501dc5a61f66a3c33b8234",
13
+ "src/core/experience-store.ts": "84e191dd30b7006983d94110de070e98701d13456de777868327ac87f85f5e6f",
14
+ "src/core/extension-helpers.ts": "b48cb2b8d88989c845cf7644eb171f36466f0b4f8878af90531e21b0b90285fa",
15
+ "src/core/files.ts": "0ef27eafbd03a4facd512b37a6bc11a7b2edc16052a6a400c327ebf15dfa5de9",
16
+ "src/core/flow-cards.ts": "8cea1019c2c84b9322e45105479526d509fef2a14594b450f07f20cbd789ff0f",
17
+ "src/core/graph-cache.ts": "69877e42ea611ca0c2a244dd83017ce91de1d511735253bff815e5238e7b78d6",
18
+ "src/core/graph-retrieval.ts": "ac74005cf7fed222cb0548669608cd65ed3eb320bdef2e8537084d76c0ee8f2c",
19
+ "src/core/host.ts": "08cefa64947a98f96c91563f70beedaf941a811b57abf02418013f5afa75fd73",
20
+ "src/core/index.ts": "03360d191330d1be71541b1633814b76f4e4f07a48d652a45031edb17e6ec990",
21
+ "src/core/ingest-frontmatter.ts": "371fc6970211fd72a0efab65ff07abd1f470066c01e6c3b48c3dd771ee5ba68a",
22
+ "src/core/ingest-identity.ts": "7c631e59cb9efc1ee3df05732ee936e934388488979bdf83625b9c5e6432d75d",
23
+ "src/core/ingest-policy.ts": "c4d9fbae139d14bf1f93e050507a733e903e3b35f0e79b0e54b6b11816616386",
24
+ "src/core/layout.ts": "f302cd8eca85afbc0aebe35ba92fec75c5adf549ecbdfb122a80e47915a1d587",
25
+ "src/core/maintenance.ts": "1f74c220341bbd1aed9c658a1ef3aef40bdee659bc53449e13c37008b8b16567",
26
+ "src/core/memory-note.ts": "880b5d183c6522b25527cf6c4597b908d05aac6307cc97b519e355a38f53b3f7",
27
+ "src/core/metacognitive-policy.ts": "363fd45ab2445e2d564cf010d9eeff53a36af9fc4895d1ab3c137c7773ca81e5",
28
+ "src/core/note-title.ts": "5d7c4fd110ceafa74bc1cc0776bb87d53febc5762082dcd4fe38575c7b8fadfc",
29
+ "src/core/orchestration-policy.ts": "38119d774b07aea61e37ba3d9e3ba0589652fdd803f1769a0880f2a443bb0b61",
30
+ "src/core/project-identity.ts": "23910fc249949d2fca61533e304834822f381a255bcfccf09b46cc9ce0a659d9",
31
+ "src/core/publication-policy.ts": "41dbd70baffa78b01e4578c110a18b9c79bdab5416c9a5f03c945a2adc351cda",
32
+ "src/core/publication.ts": "0e1a371e4d84511bae34daf8c5421c9fdea7da0d0a3c636a9c3e439285cfe96d",
33
+ "src/core/recent-by-category.ts": "7e379051729d01f46ea06564cb919f0803e0bbb95bfdd4e2abc178dde28cc9e6",
34
+ "src/core/related-notes.ts": "616e05ab52b901ef4bcc20e7e309f0b018f4c9f71c3eda7fa3d9ad264f1382d6",
35
+ "src/core/reuse.ts": "31c85260b7d0357e2cfe9e568739631d10b14fa9be544e8b1b26c3e6d3954864",
36
+ "src/core/review-policy.ts": "534edf13a813888d770268c8d2f8f4e6c9d4564e30a22e4d9aad4767af9cca2a",
37
+ "src/core/runtime-host.ts": "17fde93803a035df1f774b4d96325d36d4e520b37b1fe388a46875873a0560a5",
38
+ "src/core/search-policy.ts": "f1fa9ff6858944ec1ab1dfd5cc172113f236e93180a8798bb653b98e287a4853",
39
+ "src/core/semantic-model.ts": "ad9afb9e88eb68abaf3ec84b1068ddfd44a89842a98f000be53aafd6cc831f39",
40
+ "src/core/semantic-provider.ts": "056ca7811a90ac0b06aed985079ac0e388c0388aeb0c88af3d1b2efaf5d7fbc0",
41
+ "src/core/semantic-settings.ts": "feb55700c4cbc668df453fd6db33ad0934169e0251bf957392fff1d84eedb897",
42
+ "src/core/service.ts": "731c4f84ce856829b62014747c3f8bb0dd836a6b96fa91b7a65fb7ecf30b1688",
43
+ "src/core/source-links.ts": "fab0136b5387a1f31374f265fc87bcc76ef7fbf18f716727381f8c3c90cf18f2",
44
+ "src/core/specialist-delivery.ts": "08cde6b80ad833e2f902e4da1088fc5d4304e847946a638f704cf08942327675",
45
+ "src/core/specialist-host.ts": "f8ba76bfba869aeeafaf60665b306efb80dc026e384ec70011651ff982fdd872",
46
+ "src/core/specialists.ts": "ce4b2bfb2f34d65cef04f02855e1f689fbef7f47dc62928ff0533ab13153968f",
47
+ "src/core/task-feedback.ts": "144926c766b1bdb1724fc9704f217a73f627d502a4dcb3ecac266098e42c7529",
48
+ "src/core/tool-budget.ts": "29b26bb53617efde0b5c180b4b764153c082ea6aa5f4a1f179d276e716312ec1",
49
+ "src/core/topic-candidate.ts": "f43f25ccb6d757fa97bedacb99e976c225bf665f89c62be2b7694ee540089ba0",
50
+ "src/core/topic-memory.ts": "94f3ec85a7e56e338671a0db636aeed79546b78c12c33df0c7f2587fdc17c76f",
51
+ "src/core/topic-probe.ts": "b6b80e8aba33c8319eff5862524d0e54bc0ed70516cc3ef4706999a3f66c3e61",
52
+ "src/core/ui-service.ts": "603991ba9cb4375bddec74aa8b339db09576628f9ca86745f7323b7a047ab334",
53
+ "src/core/ui-state.ts": "9b54f9e406c3287fdae6073b65a1cf361d75185e7f15de77587023e7d1eeec39",
54
+ "src/core/wiki-model-review.ts": "d7c6d17e218c64ba8040190b8a84595e3411b99195923c46b654b4f9bbb6e719",
55
+ "src/core/wiki-policy.ts": "ffd5f16638d2f31b49ecbb944683a13b503dac91fd499fb901124dad8cec2ff8",
56
+ "src/core/wiki-review.ts": "634b6ad5efc3b15b569d1e429ca23aae5171200f7599cee0ca14d5e97fac6a4f",
57
+ "src/core/worker.ts": "091c15bdf11e6375072152585c2de89a4267be3a5b19e9fb5aadd302a9ede31d",
58
+ "src/extension/internal-knowledge-extension.ts": "af59f7e8c32c550efa28f8c0a4b7397b539b5751cab5053ddff3dfabe3e57682",
59
+ "src/extension/knowledge-extension.ts": "5e76e1b7c1ad914355f13892ced890f455ce547f9c5e4cc04329232420f0fc73",
60
+ "src/extension/knowledge-worker.ts": "bf3bf802e766d34bd01d7d9e2af73dbcd98f2f9afd27f127b4bbf3de9f5015de",
61
+ "src/host.ts": "82dbdabd97476b1772d9a6497141d24caf157810ef7e491149ba5c0e6f75316a",
62
+ "src/index.ts": "50ec275274ddea56789763921ab75500e1ab58ad26ceca7f91b449fcc2cc7432",
63
+ "src/maintenance/plan.ts": "c89ad7bde64266ba48056fc77b4f9fdceacbd64ab767bf2b2cd917acc05de52d",
64
+ "src/maintenance/prompts.ts": "16cc4408f10b679550ce91aa339ce4aab932ef00d7e263c68cc48acf6ffa8e9c",
65
+ "src/maintenance/run.ts": "2575e35c4a879955e0e0d6dae32456318a34fef8ea6d19a63797bbd06d2f3460"
66
+ },
5
67
  "outputs": {
6
- "dist/index.mjs": "4264546d37c0962cd595eb30b4cfa648528bdb3c6ac91b1b26636a2075dde65a",
7
- "lib/knowledge/runtime/worker.mjs": "c513d323bcd7827158c4463ca2a2661bd093dc2b2730d2bed48bfb05dd388f44"
68
+ "dist/index.mjs": "288560ce36b5ee78af1b16315d0185e4c9d15026b027fc2a4229f7687d3cef7e",
69
+ "dist/host.mjs": "833ae0c431fd38bd38b9bb959cbfb68d6ed2d9b832fbb20f7a7693e6afa8fb33",
70
+ "dist/host.d.ts": "e3c39a52cae72e221fe82c53390d9ccc6acb81a92a1723ef1a826d37bf7ebd81",
71
+ "lib/knowledge/runtime/worker.mjs": "0ba2740573429c6de789f495f2cddf06cc3801dfb7ffeca70ac0aeb512c461d0",
72
+ "lib/knowledge/runtime/.knowledge-worker-manifest.json": "f91da3a88692c296185180fbf30860c2f6d362ba10dd64dc2250d3f3fe2d6c96"
8
73
  },
9
74
  "skills": [
10
75
  "skills/research-vault/SKILL.md",
@@ -0,0 +1,7 @@
1
+ import type { CapabilitySourceReceipt, ContractParentRef } from "@gyoungwe/plugin-api/knowledge";
2
+ /** Narrow knowledge boundary consumed by capability discovery. It cannot write or execute. */
3
+ export interface CapabilityKnowledgeSourcePort {
4
+ readSource(ref: ContractParentRef): Promise<CapabilitySourceReceipt | undefined>;
5
+ }
6
+ export declare function readCapabilitySources(port: CapabilityKnowledgeSourcePort, refs: readonly ContractParentRef[]): Promise<readonly CapabilitySourceReceipt[]>;
7
+ //# sourceMappingURL=capability-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-discovery.d.ts","sourceRoot":"","sources":["../../src/core/capability-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,8FAA8F;AAC9F,MAAM,WAAW,6BAA6B;IAC7C,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;CACjF;AAED,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,6BAA6B,EACnC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAChC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAG7C"}
@@ -0,0 +1,30 @@
1
+ export interface KnowledgeClaim {
2
+ claim?: string;
3
+ subject?: string;
4
+ predicate?: string;
5
+ value?: string;
6
+ organism?: string;
7
+ tissue?: string;
8
+ stage?: string;
9
+ method?: string;
10
+ relation?: string;
11
+ [key: string]: unknown;
12
+ }
13
+ export type ClaimComparison = {
14
+ relation: "supports" | "contradicts" | "unresolved";
15
+ confidence: "low" | "medium" | "high";
16
+ reason: string;
17
+ blocking: boolean;
18
+ };
19
+ export type ClaimSetComparison = ClaimComparison & {
20
+ previous: KnowledgeClaim;
21
+ incoming: KnowledgeClaim;
22
+ };
23
+ /**
24
+ * Compare a newly supplied claim with the prior claim for one topic.
25
+ * Missing or non-comparable conditions stay unresolved; only same-condition
26
+ * opposite observations can block a write.
27
+ */
28
+ export declare function compareClaims(previous: KnowledgeClaim | null | undefined, incoming: KnowledgeClaim | null | undefined): ClaimComparison;
29
+ export declare function compareClaimSets(previousClaims?: readonly KnowledgeClaim[], incomingClaims?: readonly KnowledgeClaim[]): ClaimSetComparison[];
30
+ //# sourceMappingURL=claim-conflicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-conflicts.d.ts","sourceRoot":"","sources":["../../src/core/claim-conflicts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;IACpD,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IAClD,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;CACzB,CAAC;AA4CF;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GACzC,eAAe,CA2DjB;AAED,wBAAgB,gBAAgB,CAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,EAC9C,cAAc,GAAE,SAAS,cAAc,EAAO,GAC5C,kBAAkB,EAAE,CAStB"}
@@ -0,0 +1,55 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ export type KnowledgeProfile = "project" | "literature" | "hybrid";
3
+ export type KnowledgeDepositMode = "run-only" | "verified" | "rich";
4
+ export type KnowledgeSubagentPolicy = "none" | "read-local";
5
+ export interface KnowledgeBinding {
6
+ version: 1;
7
+ vault: string;
8
+ vaultId: string;
9
+ revision: number;
10
+ profile: KnowledgeProfile;
11
+ depositMode: KnowledgeDepositMode;
12
+ subagentPolicy: KnowledgeSubagentPolicy;
13
+ updatedAt: string;
14
+ }
15
+ export interface KnowledgeBindingInput {
16
+ vault: string;
17
+ profile: KnowledgeProfile;
18
+ depositMode: KnowledgeDepositMode;
19
+ subagentPolicy: KnowledgeSubagentPolicy;
20
+ }
21
+ export interface ReadKnowledgeBindingOptions {
22
+ fresh?: boolean;
23
+ }
24
+ type BindingOperation<T> = () => T | Promise<T>;
25
+ /**
26
+ * Mutable state owned by one knowledge host runtime.
27
+ *
28
+ * The package-level convenience exports below use a private default state for
29
+ * ordinary backend callers. Runtime adapters should use
30
+ * `createKnowledgeConfigApi()` with a host-owned state so two Pi hosts never
31
+ * share binding context or save queues.
32
+ */
33
+ export interface KnowledgeConfigState {
34
+ local: AsyncLocalStorage<KnowledgeBinding>;
35
+ queues: Map<string, Promise<unknown>>;
36
+ }
37
+ export interface KnowledgeConfigApi {
38
+ knowledgeDirectory: typeof knowledgeDirectory;
39
+ projectIdentity: typeof projectIdentity;
40
+ readKnowledgeBinding: typeof readKnowledgeBinding;
41
+ saveKnowledgeBinding: typeof saveKnowledgeBinding;
42
+ withKnowledgeBinding: typeof withKnowledgeBinding;
43
+ }
44
+ export declare function createKnowledgeConfigState(): KnowledgeConfigState;
45
+ /** Resolve the host-owned application directory without silently falling back to a project path. */
46
+ export declare function knowledgeDirectory(): string | null;
47
+ /** Derive a stable, filesystem-safe project identity when the workspace has no configured slug. */
48
+ export declare function projectIdentity(cwd: string, configured?: unknown): string;
49
+ export declare function readKnowledgeBinding(options?: ReadKnowledgeBindingOptions): Promise<KnowledgeBinding | null>;
50
+ export declare function saveKnowledgeBinding(input: KnowledgeBindingInput, expectedRevision?: number | null): Promise<KnowledgeBinding>;
51
+ export declare function withKnowledgeBinding<T>(binding: KnowledgeBinding, operation: BindingOperation<T>): Promise<T>;
52
+ /** Build bindings backed by a host-owned state object. */
53
+ export declare function createKnowledgeConfigApi(state?: KnowledgeConfigState): KnowledgeConfigApi;
54
+ export {};
55
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,YAAY,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,cAAc,EAAE,uBAAuB,CAAC;CACxC;AAED,MAAM,WAAW,2BAA2B;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,KAAK,gBAAgB,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IAClC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;CAClD;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AAQD,oGAAoG;AACpG,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAKlD;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAUzE;AAyCD,wBAAsB,oBAAoB,CACzC,OAAO,GAAE,2BAAgC,GACvC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElC;AA4CD,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,qBAAqB,EAC5B,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AAeD,wBAAsB,oBAAoB,CAAC,CAAC,EAC3C,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,0DAA0D;AAC1D,wBAAgB,wBAAwB,CACvC,KAAK,GAAE,oBAAmD,GACxD,kBAAkB,CASpB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 每日发现的提示词与解析(只由宿主 backend 使用;与读 Vault 的 daily-discovery.ts 分开,
3
+ * 避免把解析逻辑带进扩展的类型图)。
4
+ */
5
+ import { type DailyIdea, type DiscoveryNote } from "./daily-discovery.js";
6
+ export declare const DAILY_DISCOVERY_SYSTEM: string;
7
+ /** 拼出用户消息:NEW 与 OLD 两组笔记,均为截断后的原文 */
8
+ export declare function buildDailyDiscoveryMessage(fresh: DiscoveryNote[], related: DiscoveryNote[]): string;
9
+ /** 解析并校验:依据必须是本次提供的笔记路径,且至少引用一篇 NEW 笔记;最多 3 条 */
10
+ export declare function parseDailyIdeas(text: string, allowedPaths: Iterable<string>, freshPaths: Iterable<string>): DailyIdea[];
11
+ //# sourceMappingURL=daily-discovery-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-discovery-prompt.d.ts","sourceRoot":"","sources":["../../src/core/daily-discovery-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAA0B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,eAAO,MAAM,sBAAsB,QAOvB,CAAC;AAEb,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CASnG;AAaD,iDAAiD;AACjD,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC9B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,SAAS,EAAE,CA0Bb"}
@@ -0,0 +1,26 @@
1
+ export declare const DAILY_DISCOVERY_LIMITS: {
2
+ readonly maxScannedFiles: 4000;
3
+ readonly maxNoteBytes: number;
4
+ readonly maxNewNotes: 8;
5
+ readonly maxRelatedNotes: 10;
6
+ readonly maxNoteChars: 2400;
7
+ readonly maxIdeas: 3;
8
+ };
9
+ export interface DiscoveryNote {
10
+ path: string;
11
+ title: string;
12
+ text: string;
13
+ mtime: number;
14
+ }
15
+ export interface DailyIdea {
16
+ title: string;
17
+ idea: string;
18
+ basis: string[];
19
+ test: string;
20
+ whyOverlooked: string;
21
+ }
22
+ /** 上次运行后修改过的笔记(最新的优先,有数量与大小上限) */
23
+ export declare function collectRecentNotes(vault: string, sinceMs: number): Promise<DiscoveryNote[]>;
24
+ /** 保存为想法笔记的 Markdown 正文(标注为推测,带依据与验证方式) */
25
+ export declare function ideaNoteMarkdown(idea: DailyIdea, createdAt: Date): string;
26
+ //# sourceMappingURL=daily-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-discovery.d.ts","sourceRoot":"","sources":["../../src/core/daily-discovery.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAOX,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACtB;AAOD,kCAAkC;AAClC,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAoCjG;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAuBzE"}