@ascenda-one/agent-mcp 0.1.10 → 0.1.12

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 (2) hide show
  1. package/dist/cli.js +26 -4
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -247,6 +247,8 @@ var require_afterHours = __commonJS({
247
247
  "use strict";
248
248
  Object.defineProperty(exports, "__esModule", { value: true });
249
249
  exports.isAfterHours = isAfterHours;
250
+ exports.utcOffsetMinutesAt = utcOffsetMinutesAt;
251
+ exports.localHourAt = localHourAt;
250
252
  function isAfterHours(now = /* @__PURE__ */ new Date(), start = "19:00", end = "07:00") {
251
253
  const currentMinutes = now.getHours() * 60 + now.getMinutes();
252
254
  const startMinutes = parseTimeToMinutes(start, 19 * 60);
@@ -267,6 +269,13 @@ var require_afterHours = __commonJS({
267
269
  return fallback;
268
270
  return Math.max(0, Math.min(23, hours)) * 60 + Math.max(0, Math.min(59, minutes));
269
271
  }
272
+ function utcOffsetMinutesAt(at) {
273
+ return -at.getTimezoneOffset();
274
+ }
275
+ function localHourAt(at, utcOffsetMinutes) {
276
+ const shifted = new Date(at.getTime() + utcOffsetMinutes * 6e4);
277
+ return shifted.getUTCHours();
278
+ }
270
279
  }
271
280
  });
272
281
 
@@ -358,7 +367,7 @@ var require_out = __commonJS({
358
367
  "../packages/tool-contract/out/index.js"(exports) {
359
368
  "use strict";
360
369
  Object.defineProperty(exports, "__esModule", { value: true });
361
- exports.ASCENDA_SEMANTIC_PROVENANCE = exports.ASCENDA_COLLABORATION_CONSENT_SCOPE = exports.ASCENDA_SEMANTIC_CONSENT_SCOPE = exports.ASCENDA_PROVENANCE = exports.ASCENDA_CONSENT_SCOPE = exports.EVENT_WORKLOAD_CATEGORY = exports.COLLABORATION_EVENT_TYPES = exports.SEMANTIC_WORK_SIGNAL_EVENT_TYPES = void 0;
370
+ exports.ASCENDA_SEMANTIC_PROVENANCE = exports.ASCENDA_HISTORICAL_CONSENT_SCOPE = exports.ASCENDA_COLLABORATION_CONSENT_SCOPE = exports.ASCENDA_SEMANTIC_CONSENT_SCOPE = exports.ASCENDA_PROVENANCE = exports.ASCENDA_CONSENT_SCOPE = exports.EVENT_WORKLOAD_CATEGORY = exports.COLLABORATION_EVENT_TYPES = exports.SEMANTIC_WORK_SIGNAL_EVENT_TYPES = void 0;
362
371
  exports.SEMANTIC_WORK_SIGNAL_EVENT_TYPES = [
363
372
  "approach_churn_detected",
364
373
  "goal_drift_detected",
@@ -415,6 +424,7 @@ var require_out = __commonJS({
415
424
  exports.ASCENDA_PROVENANCE = "ai_work_telemetry";
416
425
  exports.ASCENDA_SEMANTIC_CONSENT_SCOPE = "semantic_work_signals";
417
426
  exports.ASCENDA_COLLABORATION_CONSENT_SCOPE = "workflow_telemetry";
427
+ exports.ASCENDA_HISTORICAL_CONSENT_SCOPE = "historical_import";
418
428
  exports.ASCENDA_SEMANTIC_PROVENANCE = "semantic_work_signals";
419
429
  }
420
430
  });
@@ -737,7 +747,9 @@ var require_stateStore = __commonJS({
737
747
  var path = __importStar(__require("path"));
738
748
  var tokenStore_1 = require_tokenStore();
739
749
  function defaultStateFilePath(toolInstallationId) {
740
- return path.join(os.homedir(), ".ascenda", "state", `${(0, tokenStore_1.sanitizeFilePart)(toolInstallationId)}.json`);
750
+ const dir = process.env.ASCENDA_STATE_DIR?.trim();
751
+ const base = dir ? dir : path.join(os.homedir(), ".ascenda", "state");
752
+ return path.join(base, `${(0, tokenStore_1.sanitizeFilePart)(toolInstallationId)}.json`);
741
753
  }
742
754
  function readCollectorState(stateFilePath) {
743
755
  try {
@@ -818,6 +830,7 @@ var require_eventSender = __commonJS({
818
830
  Object.defineProperty(exports, "__esModule", { value: true });
819
831
  exports.AscendaEventSender = exports.AscendaSemanticEventError = void 0;
820
832
  exports.buildEventPayload = buildEventPayload;
833
+ var afterHours_1 = require_afterHours();
821
834
  var tool_contract_1 = require_out();
822
835
  var eventLog_1 = require_eventLog();
823
836
  var http_1 = require_http();
@@ -835,6 +848,7 @@ var require_eventSender = __commonJS({
835
848
  toolInstallationId: identity.toolInstallationId,
836
849
  source: identity.source,
837
850
  occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
851
+ utcOffsetMinutes: (0, afterHours_1.utcOffsetMinutesAt)(/* @__PURE__ */ new Date()),
838
852
  sessionId: identity.sessionId ?? void 0,
839
853
  workspaceHash: identity.workspaceHash ?? void 0,
840
854
  consentScope: tool_contract_1.ASCENDA_CONSENT_SCOPE,
@@ -888,6 +902,7 @@ var require_eventSender = __commonJS({
888
902
  source: this.config.source,
889
903
  eventType: mapped.eventType,
890
904
  occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
905
+ utcOffsetMinutes: (0, afterHours_1.utcOffsetMinutesAt)(/* @__PURE__ */ new Date()),
891
906
  severity: "low",
892
907
  sessionId: this.config.sessionId ?? void 0,
893
908
  workspaceHash: this.config.workspaceHash ?? void 0,
@@ -916,6 +931,7 @@ var require_eventSender = __commonJS({
916
931
  source: this.config.source,
917
932
  eventType: mapped.eventType,
918
933
  occurredAt: (/* @__PURE__ */ new Date()).toISOString(),
934
+ utcOffsetMinutes: (0, afterHours_1.utcOffsetMinutesAt)(/* @__PURE__ */ new Date()),
919
935
  severity: "low",
920
936
  sessionId: this.config.sessionId ?? void 0,
921
937
  workspaceHash: this.config.workspaceHash ?? void 0,
@@ -1397,8 +1413,8 @@ var require_out2 = __commonJS({
1397
1413
  "../packages/tool-kit/out/index.js"(exports) {
1398
1414
  "use strict";
1399
1415
  Object.defineProperty(exports, "__esModule", { value: true });
1400
- exports.postToolEventsBatch = exports.postToolEvent = exports.renewToolToken = exports.getPairingStatus = exports.createPairingSession = exports.AscendaApiError = exports.liveBusSocketCandidates = exports.liveBusSocketPath = exports.bucketPromptSize = exports.emitLiveSignal = exports.hashWithMachineSalt = exports.readOrCreateMachineSalt = exports.machineSaltFilePath = exports.markFailureNotified = exports.shouldAnnounceFailure = exports.recordSendOutcome = exports.readCollectorState = exports.defaultStateFilePath = exports.readTokenFile = exports.persistEventWriteToken = exports.defaultTokenFilePath = exports.recordTurnStart = exports.consumeTurnDurationMs = exports.loadCliAgentConfig = exports.deliverHookEvents = exports.DEFAULT_API_BASE_URL = exports.resolveEventLogPath = exports.expandUserPath = exports.appendEventLog = exports.EVENT_LOG_ENV_VAR = exports.buildEventPayload = exports.AscendaSemanticEventError = exports.AscendaEventSender = exports.looksLikeCorrection = exports.outcomeForHook = exports.inferOutcome = exports.getNestedNumber = exports.getNestedString = exports.getNested = exports.getNumber = exports.getString = exports.isAfterHours = exports.bucketDurationMs = exports.bucketLinesChanged = exports.invitesDebrief = exports.classifyWorkMilestone = exports.isReworkGitAction = exports.classifyGitAction = exports.isVerificationCommand = exports.classifyCommand = void 0;
1401
- exports.isRetryableStatus = exports.parseIngestResponse = void 0;
1416
+ exports.renewToolToken = exports.getPairingStatus = exports.createPairingSession = exports.AscendaApiError = exports.liveBusSocketCandidates = exports.liveBusSocketPath = exports.bucketPromptSize = exports.emitLiveSignal = exports.hashWithMachineSalt = exports.readOrCreateMachineSalt = exports.machineSaltFilePath = exports.markFailureNotified = exports.shouldAnnounceFailure = exports.recordSendOutcome = exports.readCollectorState = exports.defaultStateFilePath = exports.readTokenFile = exports.persistEventWriteToken = exports.defaultTokenFilePath = exports.recordTurnStart = exports.consumeTurnDurationMs = exports.loadCliAgentConfig = exports.deliverHookEvents = exports.DEFAULT_API_BASE_URL = exports.resolveEventLogPath = exports.expandUserPath = exports.appendEventLog = exports.EVENT_LOG_ENV_VAR = exports.buildEventPayload = exports.AscendaSemanticEventError = exports.AscendaEventSender = exports.looksLikeCorrection = exports.outcomeForHook = exports.inferOutcome = exports.getNestedNumber = exports.getNestedString = exports.getNested = exports.getNumber = exports.getString = exports.localHourAt = exports.utcOffsetMinutesAt = exports.isAfterHours = exports.bucketDurationMs = exports.bucketLinesChanged = exports.invitesDebrief = exports.classifyWorkMilestone = exports.isReworkGitAction = exports.classifyGitAction = exports.isVerificationCommand = exports.classifyCommand = void 0;
1417
+ exports.isRetryableStatus = exports.parseIngestResponse = exports.postToolEventsBatch = exports.postToolEvent = void 0;
1402
1418
  var commandClassifier_1 = require_commandClassifier();
1403
1419
  Object.defineProperty(exports, "classifyCommand", { enumerable: true, get: function() {
1404
1420
  return commandClassifier_1.classifyCommand;
@@ -1431,6 +1447,12 @@ var require_out2 = __commonJS({
1431
1447
  Object.defineProperty(exports, "isAfterHours", { enumerable: true, get: function() {
1432
1448
  return afterHours_1.isAfterHours;
1433
1449
  } });
1450
+ Object.defineProperty(exports, "utcOffsetMinutesAt", { enumerable: true, get: function() {
1451
+ return afterHours_1.utcOffsetMinutesAt;
1452
+ } });
1453
+ Object.defineProperty(exports, "localHourAt", { enumerable: true, get: function() {
1454
+ return afterHours_1.localHourAt;
1455
+ } });
1434
1456
  var payload_1 = require_payload();
1435
1457
  Object.defineProperty(exports, "getString", { enumerable: true, get: function() {
1436
1458
  return payload_1.getString;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "publishConfig": { "access": "public" },
3
3
  "name": "@ascenda-one/agent-mcp",
4
- "version": "0.1.10",
4
+ "version": "0.1.12",
5
5
  "description": "MCP server exposing ascenda_emit_work_signal — the one submission interface for agent-observed (semantic) work-friction signals.",
6
6
  "repository": {
7
7
  "type": "git",