New:Socket for Asana Is Now Available.Learn more
Get Started

@papi-ai/shared

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@papi-ai/shared - npm Package Compare versions

Comparing version
0.2.5
to
0.2.6
+39
-3
dist/index.js

@@ -34,2 +34,17 @@ // src/core.ts

var CAPABILITY_REGISTRY = [
// task-3384: the PLAN step. The landing page has advertised these three since
// the v5 control beat (components/marketing/landing/ControlC.tsx) with a code
// comment reading "shipping soon, shown now" — the registry had no plan-step
// entry at all, so the Planning group rendered empty and was dropped. These
// are NOT new behaviour: each one gates a section of the planner instructions
// that already runs on every full-mode plan, so ON reproduces today exactly.
//
// All three default ON. Turning one off removes its step from the planner
// prompt, which is the whole mechanism — the planner does what the prompt
// tells it to, so an omitted step is genuinely not performed (and the matching
// plan-prepare progress checkpoint is not recorded, so the hub does not claim
// a step that never ran).
{ key: "planHealthCheck", label: "Health check", description: "Flags cycle gaps, stale tasks and AD conflicts before planning.", step: "plan" },
{ key: "backlogTriage", label: "Backlog triage", description: "Cleans up and prioritises unreviewed backlog items during planning.", step: "plan" },
{ key: "buildOrder", label: "Build order", description: "Detects intra-cycle dependencies and sequences the build.", step: "plan" },
{ key: "prReviewer", label: "Auto code review", description: "Runs a code review of the branch diff before accepting.", step: "review" },

@@ -96,3 +111,3 @@ { key: "securityScan", label: "Security scan", description: "Flags a security pass on risk-tier changes at review time.", step: "review" },

}
var RETIRED_DECISION_OUTCOMES = ["resolved", "abandoned", "superseded", "demoted"];
var RETIRED_DECISION_OUTCOMES = ["abandoned", "demoted"];
var ASSIGNABLE_CONTRIBUTOR_ROLES = ["editor", "viewer"];

@@ -178,2 +193,11 @@ var DEFAULT_CONTRIBUTOR_ROLE = "viewer";

}
var DECISION_TYPES = [
"product",
"design",
"engineering",
"business",
"scope",
"process"
];
var PROPOSAL_EVENT_TYPES = ["proposed", "position_added", "withdrawn"];

@@ -183,3 +207,3 @@ // src/deployment.ts

var HOSTED_MCP_URL = "https://mcp.getpapi.ai";
var HOSTED_SUPABASE_URL = "https://guewgygcpcmrcoppihzx.supabase.co";
var HOSTED_SUPABASE_URL = "https://api.getpapi.ai";
function optionalBoolean(value, fallback) {

@@ -203,3 +227,2 @@ if (value == null || value.trim() === "") return fallback;

vercel: optionalBoolean(env.vercelEnabled, !selfHosted),
railway: optionalBoolean(env.railwayEnabled, !selfHosted),
managedSupabase: optionalBoolean(env.managedSupabaseEnabled, !selfHosted)

@@ -568,2 +591,3 @@ },

"DEPLOY VERIFICATION",
"REFERENCE DOCS",
"PRE-BUILD VERIFICATION",

@@ -643,2 +667,3 @@ "FILES LIKELY TOUCHED",

securityConsiderations: (sections.get("SECURITY CONSIDERATIONS") ?? "").trim(),
referenceDocs: parseBulletsOnly(sections.get("REFERENCE DOCS") ?? ""),
verificationFiles: parseBulletsOnly(sections.get("PRE-BUILD VERIFICATION") ?? ""),

@@ -672,2 +697,3 @@ filesLikelyTouched: parseBulletList(sections.get("FILES LIKELY TOUCHED") ?? ""),

securityConsiderations: str(fields.securityConsiderations),
referenceDocs: ensureArray(fields.referenceDocs),
verificationFiles: ensureArray(fields.verificationFiles),

@@ -727,2 +753,10 @@ filesLikelyTouched: ensureArray(fields.filesLikelyTouched),

lines.push(handoff.securityConsiderations ?? "");
const referenceDocs = ensureArray(handoff.referenceDocs);
if (referenceDocs.length > 0) {
lines.push("");
lines.push("REFERENCE DOCS");
for (const item of referenceDocs) {
lines.push(`- ${item}`);
}
}
const verificationFiles = ensureArray(handoff.verificationFiles);

@@ -1384,5 +1418,7 @@ if (verificationFiles.length > 0) {

CAPABILITY_REGISTRY,
DECISION_TYPES,
DEFAULT_CONTRIBUTOR_ROLE,
EMPTY_ESCAPED_SIGNAL,
MIN_REASON_LENGTH,
PROPOSAL_EVENT_TYPES,
RETIRED_DECISION_OUTCOMES,

@@ -1389,0 +1425,0 @@ SENSITIVE_CHANGELOG_PATTERNS,

+1
-1
{
"name": "@papi-ai/shared",
"version": "0.2.5",
"version": "0.2.6",
"description": "Shared PAPI contract: the PapiAdapter interface, every entity type, business rules and markdown parsers — used by the MCP server, the pg adapter and the dashboard",

@@ -5,0 +5,0 @@ "license": "Elastic-2.0",

Sorry, the diff of this file is too big to display