@polpo-ai/node 0.11.1
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.
- package/LICENSE +13 -0
- package/dist/adapters/engine.d.ts +51 -0
- package/dist/adapters/engine.d.ts.map +1 -0
- package/dist/adapters/engine.js +316 -0
- package/dist/adapters/engine.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +4 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/loop-engine.d.ts +36 -0
- package/dist/adapters/loop-engine.d.ts.map +1 -0
- package/dist/adapters/loop-engine.js +534 -0
- package/dist/adapters/loop-engine.js.map +1 -0
- package/dist/adapters/node-filesystem.d.ts +22 -0
- package/dist/adapters/node-filesystem.d.ts.map +1 -0
- package/dist/adapters/node-filesystem.js +59 -0
- package/dist/adapters/node-filesystem.js.map +1 -0
- package/dist/adapters/node-shell.d.ts +5 -0
- package/dist/adapters/node-shell.d.ts.map +1 -0
- package/dist/adapters/node-shell.js +34 -0
- package/dist/adapters/node-shell.js.map +1 -0
- package/dist/adapters/node-spawner.d.ts +14 -0
- package/dist/adapters/node-spawner.d.ts.map +1 -0
- package/dist/adapters/node-spawner.js +103 -0
- package/dist/adapters/node-spawner.js.map +1 -0
- package/dist/assessment/assessor.d.ts +6 -0
- package/dist/assessment/assessor.d.ts.map +1 -0
- package/dist/assessment/assessor.js +37 -0
- package/dist/assessment/assessor.js.map +1 -0
- package/dist/assessment/index.d.ts +6 -0
- package/dist/assessment/index.d.ts.map +1 -0
- package/dist/assessment/index.js +6 -0
- package/dist/assessment/index.js.map +1 -0
- package/dist/assessment/llm-review.d.ts +34 -0
- package/dist/assessment/llm-review.d.ts.map +1 -0
- package/dist/assessment/llm-review.js +669 -0
- package/dist/assessment/llm-review.js.map +1 -0
- package/dist/assessment/schemas.d.ts +5 -0
- package/dist/assessment/schemas.d.ts.map +1 -0
- package/dist/assessment/schemas.js +5 -0
- package/dist/assessment/schemas.js.map +1 -0
- package/dist/assessment/scoring.d.ts +5 -0
- package/dist/assessment/scoring.d.ts.map +1 -0
- package/dist/assessment/scoring.js +5 -0
- package/dist/assessment/scoring.js.map +1 -0
- package/dist/assessment/transcript-parser.d.ts +31 -0
- package/dist/assessment/transcript-parser.d.ts.map +1 -0
- package/dist/assessment/transcript-parser.js +203 -0
- package/dist/assessment/transcript-parser.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/core/adapter.d.ts +62 -0
- package/dist/core/adapter.d.ts.map +1 -0
- package/dist/core/adapter.js +2 -0
- package/dist/core/adapter.js.map +1 -0
- package/dist/core/assessment-orchestrator.d.ts +18 -0
- package/dist/core/assessment-orchestrator.d.ts.map +1 -0
- package/dist/core/assessment-orchestrator.js +93 -0
- package/dist/core/assessment-orchestrator.js.map +1 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +272 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/constants.d.ts +10 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +11 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/deadlock-resolver.d.ts +35 -0
- package/dist/core/deadlock-resolver.d.ts.map +1 -0
- package/dist/core/deadlock-resolver.js +317 -0
- package/dist/core/deadlock-resolver.js.map +1 -0
- package/dist/core/drizzle-sqlite-schema.d.ts +8 -0
- package/dist/core/drizzle-sqlite-schema.d.ts.map +1 -0
- package/dist/core/drizzle-sqlite-schema.js +250 -0
- package/dist/core/drizzle-sqlite-schema.js.map +1 -0
- package/dist/core/events.d.ts +26 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +39 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/index.d.ts +37 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +31 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/ink.d.ts +165 -0
- package/dist/core/ink.d.ts.map +1 -0
- package/dist/core/ink.js +445 -0
- package/dist/core/ink.js.map +1 -0
- package/dist/core/orchestrator.d.ts +387 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js +1015 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/question-detector.d.ts +19 -0
- package/dist/core/question-detector.d.ts.map +1 -0
- package/dist/core/question-detector.js +29 -0
- package/dist/core/question-detector.js.map +1 -0
- package/dist/core/runner.d.ts +14 -0
- package/dist/core/runner.d.ts.map +1 -0
- package/dist/core/runner.js +299 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/session-reader.d.ts +46 -0
- package/dist/core/session-reader.d.ts.map +1 -0
- package/dist/core/session-reader.js +166 -0
- package/dist/core/session-reader.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/index.d.ts +8 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +21 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/pi-client.d.ts +8 -0
- package/dist/llm/pi-client.d.ts.map +1 -0
- package/dist/llm/pi-client.js +8 -0
- package/dist/llm/pi-client.js.map +1 -0
- package/dist/llm/prompts.d.ts +14 -0
- package/dist/llm/prompts.d.ts.map +1 -0
- package/dist/llm/prompts.js +1618 -0
- package/dist/llm/prompts.js.map +1 -0
- package/dist/llm/retry.d.ts +5 -0
- package/dist/llm/retry.d.ts.map +1 -0
- package/dist/llm/retry.js +5 -0
- package/dist/llm/retry.js.map +1 -0
- package/dist/llm/skills.d.ts +265 -0
- package/dist/llm/skills.d.ts.map +1 -0
- package/dist/llm/skills.js +804 -0
- package/dist/llm/skills.js.map +1 -0
- package/dist/quality/index.d.ts +3 -0
- package/dist/quality/index.d.ts.map +1 -0
- package/dist/quality/index.js +3 -0
- package/dist/quality/index.js.map +1 -0
- package/dist/quality/quality-controller.d.ts +2 -0
- package/dist/quality/quality-controller.d.ts.map +1 -0
- package/dist/quality/quality-controller.js +2 -0
- package/dist/quality/quality-controller.js.map +1 -0
- package/dist/quality/sla-monitor.d.ts +2 -0
- package/dist/quality/sla-monitor.d.ts.map +1 -0
- package/dist/quality/sla-monitor.js +2 -0
- package/dist/quality/sla-monitor.js.map +1 -0
- package/dist/scheduling/cron.d.ts +2 -0
- package/dist/scheduling/cron.d.ts.map +1 -0
- package/dist/scheduling/cron.js +2 -0
- package/dist/scheduling/cron.js.map +1 -0
- package/dist/scheduling/index.d.ts +3 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +3 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/scheduling/scheduler.d.ts +2 -0
- package/dist/scheduling/scheduler.d.ts.map +1 -0
- package/dist/scheduling/scheduler.js +2 -0
- package/dist/scheduling/scheduler.js.map +1 -0
- package/dist/server/app.d.ts +19 -0
- package/dist/server/app.d.ts.map +1 -0
- package/dist/server/app.js +302 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/deps.d.ts +157 -0
- package/dist/server/deps.d.ts.map +1 -0
- package/dist/server/deps.js +9 -0
- package/dist/server/deps.js.map +1 -0
- package/dist/server/index.d.ts +43 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +128 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/auth.d.ts +3 -0
- package/dist/server/middleware/auth.d.ts.map +1 -0
- package/dist/server/middleware/auth.js +35 -0
- package/dist/server/middleware/auth.js.map +1 -0
- package/dist/server/middleware/error.d.ts +15 -0
- package/dist/server/middleware/error.d.ts.map +1 -0
- package/dist/server/middleware/error.js +44 -0
- package/dist/server/middleware/error.js.map +1 -0
- package/dist/server/middleware/rate-limit.d.ts +16 -0
- package/dist/server/middleware/rate-limit.d.ts.map +1 -0
- package/dist/server/middleware/rate-limit.js +51 -0
- package/dist/server/middleware/rate-limit.js.map +1 -0
- package/dist/server/routes/config.d.ts +25 -0
- package/dist/server/routes/config.d.ts.map +1 -0
- package/dist/server/routes/config.js +446 -0
- package/dist/server/routes/config.js.map +1 -0
- package/dist/server/routes/files.d.ts +11 -0
- package/dist/server/routes/files.d.ts.map +1 -0
- package/dist/server/routes/files.js +514 -0
- package/dist/server/routes/files.js.map +1 -0
- package/dist/server/routes/filesystem.d.ts +3 -0
- package/dist/server/routes/filesystem.d.ts.map +1 -0
- package/dist/server/routes/filesystem.js +152 -0
- package/dist/server/routes/filesystem.js.map +1 -0
- package/dist/server/routes/providers.d.ts +7 -0
- package/dist/server/routes/providers.d.ts.map +1 -0
- package/dist/server/routes/providers.js +256 -0
- package/dist/server/routes/providers.js.map +1 -0
- package/dist/server/routes/skills.d.ts +11 -0
- package/dist/server/routes/skills.d.ts.map +1 -0
- package/dist/server/routes/skills.js +543 -0
- package/dist/server/routes/skills.js.map +1 -0
- package/dist/server/security.d.ts +34 -0
- package/dist/server/security.d.ts.map +1 -0
- package/dist/server/security.js +118 -0
- package/dist/server/security.js.map +1 -0
- package/dist/server/sse-bridge.d.ts +36 -0
- package/dist/server/sse-bridge.d.ts.map +1 -0
- package/dist/server/sse-bridge.js +110 -0
- package/dist/server/sse-bridge.js.map +1 -0
- package/dist/server/types.d.ts +69 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -0
- package/dist/setup/env-persistence.d.ts +9 -0
- package/dist/setup/env-persistence.d.ts.map +1 -0
- package/dist/setup/env-persistence.js +42 -0
- package/dist/setup/env-persistence.js.map +1 -0
- package/dist/setup/index.d.ts +32 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +24 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/models.d.ts +20 -0
- package/dist/setup/models.d.ts.map +1 -0
- package/dist/setup/models.js +33 -0
- package/dist/setup/models.js.map +1 -0
- package/dist/setup/providers.d.ts +26 -0
- package/dist/setup/providers.d.ts.map +1 -0
- package/dist/setup/providers.js +31 -0
- package/dist/setup/providers.js.map +1 -0
- package/dist/vault/encrypted-store.d.ts +45 -0
- package/dist/vault/encrypted-store.d.ts.map +1 -0
- package/dist/vault/encrypted-store.js +149 -0
- package/dist/vault/encrypted-store.js.map +1 -0
- package/dist/vault/index.d.ts +4 -0
- package/dist/vault/index.d.ts.map +1 -0
- package/dist/vault/index.js +3 -0
- package/dist/vault/index.js.map +1 -0
- package/dist/vault/resolver.d.ts +8 -0
- package/dist/vault/resolver.d.ts.map +1 -0
- package/dist/vault/resolver.js +8 -0
- package/dist/vault/resolver.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,4EAA4E;AAC5E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE7F,MAAM,OAAO,YAAa,SAAQ,YAAY;IACpC,OAAO,CAAY;IAE3B,+EAA+E;IAC/E,UAAU,CAAC,KAAe;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAIQ,IAAI,CAAC,KAAsB,EAAE,GAAG,IAAe;QACtD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAClB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC5B,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAIQ,EAAE,CAAC,KAAsB,EAAE,QAAsC;QACxE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAIQ,IAAI,CAAC,KAAsB,EAAE,QAAsC;QAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAIQ,GAAG,CAAC,KAAsB,EAAE,QAAsC;QACzE,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export * from "@polpo-ai/core/types";
|
|
2
|
+
export * from "./events.js";
|
|
3
|
+
export { VALID_TRANSITIONS, isValidTransition, assertValidTransition } from "@polpo-ai/core/state-machine";
|
|
4
|
+
export type { TaskStore } from "@polpo-ai/core/task-store";
|
|
5
|
+
export type { AgentHandle } from "./adapter.js";
|
|
6
|
+
export type { RunStore, RunRecord, RunStatus } from "@polpo-ai/core/run-store";
|
|
7
|
+
export type { ConfigStore } from "@polpo-ai/core/config-store";
|
|
8
|
+
export type { MemoryStore } from "@polpo-ai/core/memory-store";
|
|
9
|
+
export type { LogStore, LogEntry, SessionInfo } from "@polpo-ai/core/log-store";
|
|
10
|
+
export type { SessionStore, Session, Message, MessageRole, ToolCallInfo, ToolCallState, SessionContentPart } from "@polpo-ai/core/session-store";
|
|
11
|
+
export type { ApprovalStore } from "@polpo-ai/core/approval-store";
|
|
12
|
+
export { Orchestrator, buildRetryPrompt } from "./orchestrator.js";
|
|
13
|
+
export type { OrchestratorOptions, AssessFn } from "./orchestrator.js";
|
|
14
|
+
export { parseConfig, loadPolpoConfig, savePolpoConfig, generatePolpoConfigDefault, validateAgents } from "./config.js";
|
|
15
|
+
export { readSessionSummary, readSessionSummaryFromPath, getRecentMessages, findTranscriptPath } from "./session-reader.js";
|
|
16
|
+
export { looksLikeQuestion, classifyAsQuestion } from "./question-detector.js";
|
|
17
|
+
export { analyzeBlockedTasks, resolveDeadlock, isResolving } from "./deadlock-resolver.js";
|
|
18
|
+
export { HookRegistry } from "@polpo-ai/core/hooks";
|
|
19
|
+
export type { LifecycleHook, HookPhase, HookContext, HookHandler, HookRegistration, HookPayloads, BeforeHookResult, } from "@polpo-ai/core/hooks";
|
|
20
|
+
export { ApprovalManager } from "@polpo-ai/core/approval-manager";
|
|
21
|
+
export { EscalationManager } from "@polpo-ai/core/escalation-manager";
|
|
22
|
+
export { SLAMonitor } from "../quality/sla-monitor.js";
|
|
23
|
+
export { QualityController } from "../quality/quality-controller.js";
|
|
24
|
+
export { Scheduler } from "../scheduling/scheduler.js";
|
|
25
|
+
export { parseCron, matchesCron, nextCronOccurrence, isCronExpression } from "../scheduling/cron.js";
|
|
26
|
+
export { TaskWatcherManager } from "@polpo-ai/core/task-watcher";
|
|
27
|
+
export { validateParams, instantiatePlaybook, validatePlaybookDefinition } from "@polpo-ai/core";
|
|
28
|
+
export { discoverPlaybooks, loadPlaybook, savePlaybook, deletePlaybook } from "@polpo-ai/file-stores";
|
|
29
|
+
export type { PlaybookParameter, PlaybookDefinition, PlaybookInfo } from "@polpo-ai/core/playbook-store";
|
|
30
|
+
export type { ValidationResult } from "@polpo-ai/core";
|
|
31
|
+
export type { PlaybookStore } from "@polpo-ai/core/playbook-store";
|
|
32
|
+
export { discoverPlaybooks as discoverTemplates, loadPlaybook as loadTemplate, savePlaybook as saveTemplate, deletePlaybook as deleteTemplate, } from "@polpo-ai/file-stores";
|
|
33
|
+
export { instantiatePlaybook as instantiateTemplate, validatePlaybookDefinition as validateTemplateDefinition, } from "@polpo-ai/core";
|
|
34
|
+
export type { PlaybookParameter as TemplateParameter, PlaybookDefinition as TemplateDefinition, PlaybookInfo as TemplateInfo, } from "@polpo-ai/core/playbook-store";
|
|
35
|
+
export { parseInkSource, hashContent, discoverInkPackages, validateInkPlaybook, validateInkAgent, validateInkCompany, readInkLock, writeInkLock, upsertInkLockEntry, removeInkLockEntry, isInkSourceInstalled, getInkLockEntry, stripInkMetadata, } from "./ink.js";
|
|
36
|
+
export type { InkPackageType, InkSource, InkPackage, InkPackageMetadata, InkVerdictLevel, InkVerdict, InkLockEntry, InkLockPackage, InkLockFile, InkValidationResult, } from "./ink.js";
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export * from "@polpo-ai/core/types";
|
|
2
|
+
export * from "./events.js";
|
|
3
|
+
export { VALID_TRANSITIONS, isValidTransition, assertValidTransition } from "@polpo-ai/core/state-machine";
|
|
4
|
+
export { Orchestrator, buildRetryPrompt } from "./orchestrator.js";
|
|
5
|
+
export { parseConfig, loadPolpoConfig, savePolpoConfig, generatePolpoConfigDefault, validateAgents } from "./config.js";
|
|
6
|
+
export { readSessionSummary, readSessionSummaryFromPath, getRecentMessages, findTranscriptPath } from "./session-reader.js";
|
|
7
|
+
export { looksLikeQuestion, classifyAsQuestion } from "./question-detector.js";
|
|
8
|
+
export { analyzeBlockedTasks, resolveDeadlock, isResolving } from "./deadlock-resolver.js";
|
|
9
|
+
// Hooks
|
|
10
|
+
export { HookRegistry } from "@polpo-ai/core/hooks";
|
|
11
|
+
// Approval
|
|
12
|
+
export { ApprovalManager } from "@polpo-ai/core/approval-manager";
|
|
13
|
+
// Escalation
|
|
14
|
+
export { EscalationManager } from "@polpo-ai/core/escalation-manager";
|
|
15
|
+
// Quality Layer
|
|
16
|
+
export { SLAMonitor } from "../quality/sla-monitor.js";
|
|
17
|
+
export { QualityController } from "../quality/quality-controller.js";
|
|
18
|
+
// Scheduling
|
|
19
|
+
export { Scheduler } from "../scheduling/scheduler.js";
|
|
20
|
+
export { parseCron, matchesCron, nextCronOccurrence, isCronExpression } from "../scheduling/cron.js";
|
|
21
|
+
// Task Watchers
|
|
22
|
+
export { TaskWatcherManager } from "@polpo-ai/core/task-watcher";
|
|
23
|
+
// Playbooks
|
|
24
|
+
export { validateParams, instantiatePlaybook, validatePlaybookDefinition } from "@polpo-ai/core";
|
|
25
|
+
export { discoverPlaybooks, loadPlaybook, savePlaybook, deletePlaybook } from "@polpo-ai/file-stores";
|
|
26
|
+
// Backward-compat aliases (deprecated)
|
|
27
|
+
export { discoverPlaybooks as discoverTemplates, loadPlaybook as loadTemplate, savePlaybook as saveTemplate, deletePlaybook as deleteTemplate, } from "@polpo-ai/file-stores";
|
|
28
|
+
export { instantiatePlaybook as instantiateTemplate, validatePlaybookDefinition as validateTemplateDefinition, } from "@polpo-ai/core";
|
|
29
|
+
// Ink Registry
|
|
30
|
+
export { parseInkSource, hashContent, discoverInkPackages, validateInkPlaybook, validateInkAgent, validateInkCompany, readInkLock, writeInkLock, upsertInkLockEntry, removeInkLockEntry, isInkSourceInstalled, getInkLockEntry, stripInkMetadata, } from "./ink.js";
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAS3G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5H,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3F,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWpD,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErG,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKtG,uCAAuC;AACvC,OAAO,EACL,iBAAiB,IAAI,iBAAiB,EACtC,YAAY,IAAI,YAAY,EAC5B,YAAY,IAAI,YAAY,EAC5B,cAAc,IAAI,cAAc,GACjC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,IAAI,mBAAmB,EAC1C,0BAA0B,IAAI,0BAA0B,GACzD,MAAM,gBAAgB,CAAC;AAOxB,eAAe;AACf,OAAO,EACL,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ink — Polpo's package registry.
|
|
3
|
+
*
|
|
4
|
+
* Distributes three package types via git-native discovery:
|
|
5
|
+
* - Playbooks: playbooks/<name>/playbook.json (PlaybookDefinition)
|
|
6
|
+
* - Agents: agents/<name>.json (AgentConfig)
|
|
7
|
+
* - Companies: companies/<name>/polpo.json (PolpoFileConfig)
|
|
8
|
+
*
|
|
9
|
+
* Distribution model:
|
|
10
|
+
* - Git repos as the distribution mechanism (like skills.sh)
|
|
11
|
+
* - `polpo ink add owner/repo` clones and discovers by convention
|
|
12
|
+
* - ink.lock tracks installed packages with source repo + commit hash
|
|
13
|
+
*
|
|
14
|
+
* Security:
|
|
15
|
+
* - Structural validation (schema + size limits) runs locally
|
|
16
|
+
* - LLM security scan via ink.polpo.dev worker (cache-aside on content hash)
|
|
17
|
+
* - Interactive review with warnings for dangerous patterns
|
|
18
|
+
*/
|
|
19
|
+
import type { AgentConfig, PolpoFileConfig } from "@polpo-ai/core/types";
|
|
20
|
+
import type { PlaybookDefinition } from "@polpo-ai/core/playbook-store";
|
|
21
|
+
import type { AgentStore } from "@polpo-ai/core/agent-store";
|
|
22
|
+
import type { PlaybookStore } from "@polpo-ai/core/playbook-store";
|
|
23
|
+
/**
|
|
24
|
+
* Strip ink-specific metadata fields (version, author, tags) from an agent
|
|
25
|
+
* config so they don't end up persisted in polpo.json or agent stores.
|
|
26
|
+
*/
|
|
27
|
+
export declare function stripInkMetadata(agent: AgentConfig): AgentConfig;
|
|
28
|
+
/** The three package types distributable via Ink. */
|
|
29
|
+
export type InkPackageType = "playbook" | "agent" | "company";
|
|
30
|
+
/** A parsed source identifier for an Ink registry repo. */
|
|
31
|
+
export interface InkSource {
|
|
32
|
+
type: "github" | "local";
|
|
33
|
+
/** For GitHub: the clone URL. For local: absolute path. */
|
|
34
|
+
url: string;
|
|
35
|
+
/** GitHub owner/repo slug (only for type: "github"). */
|
|
36
|
+
ownerRepo?: string;
|
|
37
|
+
}
|
|
38
|
+
/** A discovered package within a registry repo. */
|
|
39
|
+
export interface InkPackage {
|
|
40
|
+
/** Package type: playbook, agent, or company. */
|
|
41
|
+
type: InkPackageType;
|
|
42
|
+
/** Package name (derived from directory/file name). */
|
|
43
|
+
name: string;
|
|
44
|
+
/** Absolute path to the package file (playbook.json, agent.json, or polpo.json). */
|
|
45
|
+
path: string;
|
|
46
|
+
/** SHA-256 hash of the file content (for verdict caching). */
|
|
47
|
+
contentHash: string;
|
|
48
|
+
/** The parsed content. */
|
|
49
|
+
content: PlaybookDefinition | AgentConfig | PolpoFileConfig;
|
|
50
|
+
/** Optional metadata extracted from the content. */
|
|
51
|
+
metadata: InkPackageMetadata;
|
|
52
|
+
}
|
|
53
|
+
/** Common metadata extracted from any package type. */
|
|
54
|
+
export interface InkPackageMetadata {
|
|
55
|
+
version?: string;
|
|
56
|
+
author?: string;
|
|
57
|
+
tags?: string[];
|
|
58
|
+
description?: string;
|
|
59
|
+
}
|
|
60
|
+
/** Security scan result for a package. */
|
|
61
|
+
export type InkVerdictLevel = "safe" | "warning" | "dangerous";
|
|
62
|
+
export interface InkVerdict {
|
|
63
|
+
/** Overall verdict. */
|
|
64
|
+
level: InkVerdictLevel;
|
|
65
|
+
/** Human-readable explanation of findings. */
|
|
66
|
+
details: string[];
|
|
67
|
+
/** ISO timestamp of when the scan was performed. */
|
|
68
|
+
scannedAt: string;
|
|
69
|
+
/** Content hash this verdict applies to. */
|
|
70
|
+
contentHash: string;
|
|
71
|
+
}
|
|
72
|
+
/** A single entry in ink.lock representing one installed registry source. */
|
|
73
|
+
export interface InkLockEntry {
|
|
74
|
+
/** Source identifier (e.g. "acme-corp/polpo-registry"). */
|
|
75
|
+
source: string;
|
|
76
|
+
/** Git commit hash at time of installation. */
|
|
77
|
+
commitHash: string;
|
|
78
|
+
/** ISO timestamp of installation. */
|
|
79
|
+
installedAt: string;
|
|
80
|
+
/** Packages discovered and installed from this source. */
|
|
81
|
+
packages: InkLockPackage[];
|
|
82
|
+
}
|
|
83
|
+
/** A single installed package within a lock entry. */
|
|
84
|
+
export interface InkLockPackage {
|
|
85
|
+
type: InkPackageType;
|
|
86
|
+
name: string;
|
|
87
|
+
/** SHA-256 content hash for integrity verification. */
|
|
88
|
+
contentHash: string;
|
|
89
|
+
/** Security verdict at time of installation. */
|
|
90
|
+
verdict?: InkVerdictLevel;
|
|
91
|
+
}
|
|
92
|
+
/** The full ink.lock file structure. */
|
|
93
|
+
export interface InkLockFile {
|
|
94
|
+
/** Lock file format version. */
|
|
95
|
+
version: 1;
|
|
96
|
+
/** Installed registry sources. */
|
|
97
|
+
registries: InkLockEntry[];
|
|
98
|
+
}
|
|
99
|
+
export interface InkValidationResult {
|
|
100
|
+
valid: boolean;
|
|
101
|
+
errors: string[];
|
|
102
|
+
warnings: string[];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Validate a playbook definition from a registry.
|
|
106
|
+
* Checks structural integrity and flags suspicious patterns.
|
|
107
|
+
*/
|
|
108
|
+
export declare function validateInkPlaybook(def: unknown): InkValidationResult;
|
|
109
|
+
/**
|
|
110
|
+
* Validate an agent config from a registry.
|
|
111
|
+
* Checks structural integrity and flags suspicious patterns.
|
|
112
|
+
*/
|
|
113
|
+
export declare function validateInkAgent(def: unknown): InkValidationResult;
|
|
114
|
+
/**
|
|
115
|
+
* Validate a company config (polpo.json) from a registry.
|
|
116
|
+
*/
|
|
117
|
+
export declare function validateInkCompany(def: unknown): InkValidationResult;
|
|
118
|
+
/**
|
|
119
|
+
* Parse an Ink source identifier into a structured source object.
|
|
120
|
+
* Supports: owner/repo, full GitHub URLs, local paths.
|
|
121
|
+
* Reuses the same logic as parseSkillSource() from the skills system.
|
|
122
|
+
*/
|
|
123
|
+
export declare function parseInkSource(input: string): InkSource;
|
|
124
|
+
/** Compute SHA-256 hash of file content for verdict caching. */
|
|
125
|
+
export declare function hashContent(content: string): string;
|
|
126
|
+
/**
|
|
127
|
+
* Discover all packages in a registry directory by convention.
|
|
128
|
+
*
|
|
129
|
+
* Scans:
|
|
130
|
+
* - playbooks/<name>/playbook.json → PlaybookDefinition
|
|
131
|
+
* - agents/<name>.json → AgentConfig
|
|
132
|
+
* - companies/<name>/polpo.json → PolpoFileConfig
|
|
133
|
+
*
|
|
134
|
+
* Returns validated packages with content hashes.
|
|
135
|
+
*/
|
|
136
|
+
export declare function discoverInkPackages(registryDir: string): {
|
|
137
|
+
packages: InkPackage[];
|
|
138
|
+
errors: string[];
|
|
139
|
+
};
|
|
140
|
+
/** Read the ink.lock file from a polpo directory. Returns empty lock if not found. */
|
|
141
|
+
export declare function readInkLock(polpoDir: string): InkLockFile;
|
|
142
|
+
/** Write the ink.lock file to a polpo directory. */
|
|
143
|
+
export declare function writeInkLock(polpoDir: string, lock: InkLockFile): void;
|
|
144
|
+
/** Add or update a registry entry in the lock file. */
|
|
145
|
+
export declare function upsertInkLockEntry(lock: InkLockFile, entry: InkLockEntry): InkLockFile;
|
|
146
|
+
/** Remove a registry entry from the lock file. */
|
|
147
|
+
export declare function removeInkLockEntry(lock: InkLockFile, source: string): InkLockFile;
|
|
148
|
+
/** Check if a source is already installed in the lock file. */
|
|
149
|
+
export declare function isInkSourceInstalled(lock: InkLockFile, source: string): boolean;
|
|
150
|
+
/** Get the installed entry for a source, or undefined. */
|
|
151
|
+
export declare function getInkLockEntry(lock: InkLockFile, source: string): InkLockEntry | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* Uninstall packages recorded in a lock entry.
|
|
154
|
+
*
|
|
155
|
+
* - Playbooks: removes via PlaybookStore
|
|
156
|
+
* - Agents: removes from AgentStore
|
|
157
|
+
* - Companies: removes legacy paths (merged config cannot be cleanly reversed)
|
|
158
|
+
*
|
|
159
|
+
* @param entry - The lock entry whose packages should be removed
|
|
160
|
+
* @param polpoDir - Path to the .polpo directory
|
|
161
|
+
* @param agentStore - AgentStore to remove agents from
|
|
162
|
+
* @param playbookStore - PlaybookStore to remove playbooks from
|
|
163
|
+
*/
|
|
164
|
+
export declare function uninstallInkPackages(entry: InkLockEntry, polpoDir: string, agentStore: AgentStore, playbookStore?: PlaybookStore): Promise<string[]>;
|
|
165
|
+
//# sourceMappingURL=ink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ink.d.ts","sourceRoot":"","sources":["../../src/core/ink.ts"],"names":[],"mappings":"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"}
|